fix: FunctorFactory Caching behaviour
Fixes 2 Problems that were encountered when trying to force recompilation of functors via THOR_DISABLE_CACHE
in the presence of a functor cache (e.g. MooreCache).
Both problems are caused because the old functor cache is loaded during the lookup of e.g. some LoKi functors.
- C++ symbols of the newly created library were not used because symbols with the same name were already in the global namespace -> see commit about
RTLD_DEEPBIND
- Gaudi PluginService doesn't let me overwrite an old Functor, so if the hash of a functor is already registered, I can't update that entry. Currently implemented a workaround that forces a different hash, but will follow up with a Gaudi MR.
cc @tnanut @wouter as I've suggested to both of you before to use THOR_DISABLE_CACHE
before. I've noticed during some development that some changes weren't getting picked up as expected and when digging into it noticed that in specific cases THOR_DISABLE_CACHE
wasn't working as expected. So just sending a ping your way if you've encountered this too and were wondering what is going wrong.
After this MR THOR_DISABLE_CACHE
should work excactly as expected again
Edited by Christoph Hasse