Adding a RAII class to promote an object containt a symbol to be dlopened with RTLD_GLOBAL #1000
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
As we were discussing, I modified @GiovanniBussi's class to fit into plumed, with warnings.
I also reverted the changes from #985, since DLLoader::EnsureGlobalDLOpen makes using RTLD_GLOBAL more granular.
For example, on linux, an embedded python interpreter needs its .so to be loaded with RTLD_GLOBAL, for importing compiled modules, with this you can make only libPython*.so GLOBAL, and not the other part of the code that rely on it.
I am using DLLoader as a namespace for EnsureGlobalDLOpen.
Target release
I would like my code to appear in release 2.10
Type of contribution
Copyright
COPYRIGHT
file with the correct license information. Code should be released under an open source license. I also used the commandcd src && ./header.sh mymodulename
in order to make sure the headers of the module are correct.Tests