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
Thread safety improvements in DT EventSetup formats #3265
Conversation
Two singletons are removed. The content that was in DTCompactMapPluginHandler was moved into the fullMap function of DTReadoutMapping. The content that was in DTConfigHandler was moved into the new class DTKeyedConfigCache. The two modules that used it now have that as a data member instead of accessing the functionality through a singleton. In both cases, the algorithmic code was simply copied to the new location with minimal changes. Note the way DTConfigHandler used KeyList with a const_cast was a problem and remains a problem. I did not fix that problem. I just noticed it and copied that code from one place to another. This will probably need to be fixed at some point in the future. Remove an optimization that was not needed from DTReadOutMapping that was added in a very recent commit by me. Recently I added the atomicCache_ and cache_ data members and only the atomicCache_ is really needed so I removed cache_ to simplify the code. Removed two lines of code that did nothing and some functions that were never called by anything. And I renamed a local variable from theCache to localCache for clarity.
A new Pull Request was created by @wddgit (W. David Dagenhart) for CMSSW_7_1_X. Thread safety improvements in DT EventSetup formats It involves the following packages: CondCore/DTPlugins @apfeiffer1, @nclopezo, @cmsbuild, @diguida, @rcastello, @ggovi, @Degano, @mulhearn can you please review it and eventually sign? Thanks. |
+1 |
+1 |
@mulhearn ping? |
Bypassing L1 signature. Complain if not ok. |
Multithreading -- Thread safety improvements in DT EventSetup formats
Sorry, I missed ping, lecture all day on Mondays… |
Two singletons are removed. The content that was in
DTCompactMapPluginHandler was moved into the fullMap
function of DTReadoutMapping. The content that was in
DTConfigHandler was moved into the new class
DTKeyedConfigCache. The two modules that used it now
have that as a data member instead of accessing the
functionality through a singleton. In both cases,
the algorithmic code was simply copied to the new
location with minimal changes.
Note the way DTConfigHandler used KeyList with a const_cast
was a problem and remains a problem. I did not fix that
problem. I just noticed it and copied that code from one
place to another. This will probably need to be fixed
at some point in the future.
Remove an optimization that was not needed from
DTReadOutMapping that was added in a very recent
commit by me. Recently I added the atomicCache_ and
cache_ data members and only the atomicCache_ is
really needed so I removed cache_ to simplify the code.
Removed two lines of code that did nothing and some
functions that were never called by anything.
And I renamed a local variable from theCache to
localCache for clarity.