plumed / plumed2

Development version of plumed 2
https://www.plumed.org
GNU Lesser General Public License v3.0
324 stars 269 forks source link

Adding a RAII class to promote an object containt a symbol to be dlopened with RTLD_GLOBAL #1000

Closed Iximiel closed 7 months ago

Iximiel commented 7 months ago
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
Tests
codecov-commenter commented 7 months ago

Codecov Report

Attention: 8 lines in your changes are missing coverage. Please review.

Comparison is base (91d56cb) 84.10% compared to head (b81cac6) 84.06%.

:exclamation: Current head b81cac6 differs from pull request most recent head 7d301b4. Consider uploading reports for the commit 7d301b4 to get more accurate results

Files Patch % Lines
src/tools/DLLoader.cpp 20.00% 8 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## autoconf-dladdr #1000 +/- ## =================================================== - Coverage 84.10% 84.06% -0.04% =================================================== Files 602 602 Lines 56231 56233 +2 =================================================== - Hits 47292 47272 -20 - Misses 8939 8961 +22 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.