-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Made const functions of AssociationVector thread safe #1268
Made const functions of AssociationVector thread safe #1268
Conversation
The AssociationVector uses a cache, transientVector_. The management of that cache is now thread safe if multiple threads call const functions simultaneously.
A new Pull Request was created by @Dr15Jones (Chris Jones) for CMSSW_7_0_X. Made const functions of AssociationVector thread safe It involves the following packages: DataFormats/Common @Dr15Jones, @ktf, @nclopezo can you please review it and eventually sign? Thanks. |
+1 |
This pull request is fully signed and it will be integrated in one of the next IBs unless changes or unless it breaks tests. @ktf can you please take care of it? |
-1 l.process_files() File "/afs/cern.ch/cms/sw/ReleaseCandidates/vol0/slc5_amd64_gcc481/lcg/root/5.34.10//lib/python/genreflex/genreflex.py", line 408, in process_files os.remove(dicfile) OSError: [Errno 2] No such file or directory: 'tmp/slc5_amd64_gcc481/src/DataFormats/TrackReco/src/DataFormatsTrackReco/a/xr.cc' gmake: **\* [tmp/slc5_amd64_gcc481/src/DataFormats/TrackReco/src/DataFormatsTrackReco/a/xr.cc] Error 1 gmake: **\* Waiting for unfinished jobs.... you can see the results of the tests here: |
Moving this to next milestone. |
-switched to the standard CPP defines used to hide C++11 constructs from ROOT -fixed a typo in one of the constructors -worked around an apparent gcc bug which did not allow me to specify a memory order for the compare_exchange_strong atomic method.
fixed_ was declared a transient data member of AssociationVector. However, fixed_ has been removed and if we do not remove it from the Reflex transient storage declaration the Reflex parser dies.
+1 |
+1 |
…oducts Multithreading fixes -- Made const functions of AssociationVector thread safe
The AssociationVector uses a cache, transientVector_. The management of that cache is now thread safe if multiple threads call const functions simultaneously.