Skip to content
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 statics in NuclearInteractionFTFSimulator thread safe #9064

Conversation

Dr15Jones
Copy link
Contributor

The static analyzer identified a thread-safety issue with the static class members of NuclearInteractionFTFSimulator. Using an std::call_once makes sure the array is safely initialized.

NOTE: Someone should check that the Geant 4 classes used in this code can safely be called on different threads.

The static analyzer identified a thread-safety issue with the static
class members of NuclearInteractionFTFSimulator. Using an std::call_once
makes sure the array is safely initialized.
@cmsbuild
Copy link
Contributor

A new Pull Request was created by @Dr15Jones (Chris Jones) for CMSSW_7_5_X.

Made statics in NuclearInteractionFTFSimulator thread safe

It involves the following packages:

FastSimulation/MaterialEffects

@ssekmen, @nclopezo, @lveldere, @civanch, @mdhildreth, @cmsbuild can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @matt-komm this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.
@nclopezo you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

The tests are being triggered in jenkins.

@civanch
Copy link
Contributor

civanch commented May 13, 2015

@Dr15Jones , thank you for the fix. FastSim is not yet MT capable, so this this fix will be useful for future.

Concerning Geant4 : all public versions are not yet c++11, however, code is safe, because initialisation of shared data is done in the master thread; if it is not guaranteed that initialisation is done by the master then a mutex lock is set locally in the initialisation method.

I would also agree, that in the case of FastSim we need double check that the code used for FastSim is safe itself and not only in Geant4 context.

@civanch
Copy link
Contributor

civanch commented May 13, 2015

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_5_X IBs unless changes or unless it breaks tests. This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @nclopezo, @smuzaffar

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_5_X IBs unless changes (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @nclopezo, @smuzaffar

@davidlange6
Copy link
Contributor

+1

cmsbuild added a commit that referenced this pull request May 13, 2015
…InteractionFTFSimulator

Made statics in NuclearInteractionFTFSimulator thread safe
@cmsbuild cmsbuild merged commit b129ff3 into cms-sw:CMSSW_7_5_X May 13, 2015
@Dr15Jones Dr15Jones deleted the makeStaticThreadSafeInNuclearInteractionFTFSimulator branch August 14, 2015 18:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants