loading multi threaded library into executable enabled for single
titanandrews at gmail.com
Thu Sep 11 19:35:50 UTC 2008
I have a multi-threaded library that is linked against libpthread. When I
load this lib into a tclsh process on FreeBSD, I get this error, "Recurse on
private mutex". and crash. I understand that I can have this issue when the
executable is not linked against libpthread but one of the loaded libs is.
Basically, it thinks it's in single threaded mode.
I can get around this issue, by doing export LD_PRELOAD=libpthread.so.1,
however this is a hack at best. Is there any other way to get around this
issue other than linking tclsh with libpthread ( because that's not an
I thought of re-building libpthread with the offending code commented out,
and that did work, however I ran into other issues, so I think it's not a
very "safe" option.
My feeling is that this is a FreeBSD issue because it's not happening on
other platforms, Linux, Solaris.
Any suggestions are welcome. Many thanks!
More information about the freebsd-hackers