László Várady <laszlo.varad...@gmail.com> added the comment:

I'd like to mention a real-world example for this issue: syslog-ng with its
plugin system.

Plugins are loaded using dlopen() after the initial plugin discovery. RTLD_LOCAL
would be a reasonable choice, since symbols in plugins should not pollute the
global namespace (so plugins using different versions of OpenSSL, Python, etc.
would be possible).

Since we have Python-based plugins, we had to use RTLD_GLOBAL instead (with 
RTLD_LAZY to
reduce the possibility of conflicts) as a workaround.

Note: The latest Python 3 version seems to be working with RTLD_LOCAL as 
everything
under lib-dynload/ linked against libpython.

----------
nosy: +MrAnno

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue36753>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to