New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add a StreamContext to the Pre/PostSource signals #1575
add a StreamContext to the Pre/PostSource signals #1575
Conversation
fwyzard
commented
Nov 24, 2013
- fill the StreamContext in the Eventprocessor before reading the Event
- pass the StreamContext to the Pre/PostSource signals
- drop the EventSourceProxy, and call the Pre/PostSource signals explicitly from the InputSource
- adapt all services to the change in the signals
A new Pull Request was created by @fwyzard (Andrea Bocci) for CMSSW_7_0_X. add a StreamContext to the Pre/PostSource signals It involves the following packages: IOPool/Input @vciulli, @perrotta, @Dr15Jones, @emeschi, @Martin-Grunewald, @cmsbuild, @nclopezo, @fwyzard, @mommsen, @ktf can you please review it and eventually sign? Thanks. |
see https://hypernews.cern.ch/HyperNews/CMS/get/edmFramework/3185.html for some rationale |
-1 It does not build in CMSSW_7_0_X_2013-11-25-0200
Error messages are different when trying to build in a plain CMSSW_7_0_X_2013-11-25-0200 IB [1], or when trying to build on top of PR 1566 [2] Andrea [1]
[2]
|
-1 /afs/cern.ch/cms/sw/ReleaseCandidates/vol0/slc5_amd64_gcc481/external/boost/1.51.0-cms/include/boost/bind/bind_template.hpp:47:59: required from 'boost::_bi::bind_t::result_type boost::_bi::bind_t::operator()(const A1&) [with A1 = edm::StreamContext; R = boost::_bi::unspecified; F = boost::_mfi::mf0; L = boost::_bi::list2boost::_bi::value >; boost::_bi::bind_t::result_type = void]' /afs/cern.ch/cms/sw/ReleaseCandidates/vol0/slc5_amd64_gcc481/external/gcc/4.8.1/include/c++/4.8.1/functional:2071:3: required from 'static void std::_Function_handler::_M_invoke(const std::_Any_data&, _ArgTypes ...) [with _Functor = boost::_bi::bind_t, boost::_bi::list2boost::_bi::value > >; _ArgTypes = {const edm::StreamContext&}]' /afs/cern.ch/cms/sw/ReleaseCandidates/vol0/slc5_amd64_gcc481/external/gcc/4.8.1/include/c++/4.8.1/functional:2456:19: required from 'std::function<_Res(_ArgTypes ...)>::function(_Functor) [with _Functor = boost::_bi::bind_t, boost::_bi::list2boost::_bi::value > >; = void; _Res = void; _ArgTypes = {const edm::StreamContext&}]' /build/cmsbuild/jenkins-workarea/workspace/Pull-Request-Integration/ARCHITECTURE/slc5_amd64_gcc481/CMSSW_7_0_X_2013-11-25-0200/src/FWCore/ServiceRegistry/interface/ActivityRegistry.h:118:7: required from 'void edm::ActivityRegistry::watchPostSource(TClass_, TMethod) [with TClass = ProfilerService; TMethod = void (ProfilerService::_)()]' /build/cmsbuild/jenkins-workarea/workspace/Pull-Request-Integration/ARCHITECTURE/slc5_amd64_gcc481/CMSSW_7_0_X_2013-11-25-0200/src/PerfTools/Callgrind/src/ProfilerService.cc:32:63: required from here /afs/cern.ch/cms/sw/ReleaseCandidates/vol0/slc5_amd64_gcc481/external/boost/1.51.0-cms/include/boost/bind/bind.hpp:313:34: error: no match for call to '(boost::_mfi::mf0) (ProfilerService*&, const edm::StreamContext&)' unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); ^ In file included from /afs/cern.ch/cms/sw/ReleaseCandidates/vol0/slc5_amd64_gcc481/external/boost/1.51.0-cms/include/boost/mem_fn.hpp:22:0, from /afs/cern.ch/cms/sw/ReleaseCandidates/vol0/slc5_amd64_gcc481/external/boost/1.51.0-cms/include/boost/bind/bind.hpp:26, from /afs/cern.ch/cms/sw/ReleaseCandidates/vol0/slc5_amd64_gcc481/external/boost/1.51.0-cms/include/boost/bind.hpp:22, you can see the results of the tests here: |
Pull request #1575 was updated. @vciulli, @perrotta, @civanch, @Dr15Jones, @giamman, @danduggan, @emeschi, @mdhildreth, @Martin-Grunewald, @cmsbuild, @nclopezo, @rovere, @deguio, @fwyzard, @mommsen, @eliasron, @ktf can you please check and sign again. |
Hi, By the way, WHY do we have a Service under DataFormats ? |
-1 /me should study C++ a bit better, calling a destructor explicitly is a Bad™ idea. |
OK, I've fixed the call-the-destructor-twice bug, and rebased the pull request to clean up the git history |
Pull request #1575 was updated. @vciulli, @perrotta, @civanch, @Dr15Jones, @giamman, @danduggan, @emeschi, @mdhildreth, @Martin-Grunewald, @cmsbuild, @nclopezo, @rovere, @deguio, @fwyzard, @mommsen, @eliasron, @ktf can you please check and sign again. |
+1 |
@@ -102,20 +102,20 @@ | |||
AR_WATCH_USING_METHOD_0(watchJobFailure) | |||
|
|||
/// signal is emitted before the source starts creating an Event | |||
typedef signalslot::Signal<void()> PreSource; | |||
typedef signalslot::Signal<void(StreamContext const&)> PreSource; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PreSourceEvent better matches the naming convention for the new signals
Pull request #1575 was updated. @vciulli, @perrotta, @civanch, @Dr15Jones, @giamman, @danduggan, @emeschi, @mdhildreth, @Martin-Grunewald, @cmsbuild, @nclopezo, @rovere, @deguio, @fwyzard, @mommsen, @eliasron, @ktf can you please check and sign again. |
1 similar comment
Pull request #1575 was updated. @vciulli, @perrotta, @civanch, @Dr15Jones, @giamman, @danduggan, @emeschi, @mdhildreth, @Martin-Grunewald, @cmsbuild, @nclopezo, @rovere, @deguio, @fwyzard, @mommsen, @eliasron, @ktf can you please check and sign again. |
…PostSourceEvent - modify the EventSourceProxy to pass the StreamID to the Pre/PostSource signals - rename the signals to Pre/PostSourceEvent (to be consistent with Pre/PostModuleEvent, etc.) - adapt all services to the change in the signals
rebased after some exchanges with Chris:
|
Pull request #1575 was updated. @vciulli, @perrotta, @civanch, @Dr15Jones, @giamman, @danduggan, @emeschi, @mdhildreth, @Martin-Grunewald, @cmsbuild, @nclopezo, @rovere, @deguio, @fwyzard, @mommsen, @eliasron, @ktf can you please check and sign again. |
+1 |
1 similar comment
+1 |
-1 ---> test testUtilitiesRFIOAdaptor had ERRORS you can see the results of the tests here: |
I'm not fully sure, but I think the errors are unrelated ? .A On 26 November 2013 12:19, cmsbuild notifications@github.com wrote:
|
|
Ciao, Package Utilities/StorageFactory: Running test testUtilitiesStorageFactory ===== Test "testUtilitiesStorageFactory" ==== ^^^^ End Test testUtilitiesStorageFactory ^^^^ Package Utilities/RFIOAdaptor: Running test testUtilitiesRFIOAdaptor ===== Test "testUtilitiesRFIOAdaptor" ==== ^^^^ End Test testUtilitiesRFIOAdaptor ^^^^ Package TopQuarkAnalysis/TopEventSelection: Running test runtestTqafTopEventSelection ===== Test "runtestTqafTopEventSelection" ==== ^^^^ End Test runtestTqafTopEventSelection ^^^^ .A |
+1 |
1 similar comment
+1 |
generators, simulation and dqm, could you have a look and sign this ? |
Bypassing signatures. Complain if not ok. |
…urce Multithreading fixes -- Add a StreamContext to the Pre/PostSource signals
Multithreaded framework -- Fix InputSource after automatic merging of #1575 in the THREADED branch