I have a python wrapper built around a C++ project that uses Boost Threads. I've got things compiling and working fine except I'm having one strange problem.
If I run things from the python command line everything works and I get the info that I expect etc, however when I put the exact same procedures in a script and execute it I either get a seg-fault or a hang at the end of the script. I see this behavior on both my Windows and Linux version and not really sure where to being, hoping maybe somebody has seen this sort of thing before. Below is a debug trace of the hang case: It appears that it's not getting the join back from the thread? Trouble is I have wrappers for other languages and they all work fine, leading me to believe it's something specific to python.
#0 0x00000030cba0d4c4 in __lll_lock_wait () from /lib64/libpthread.so.0
#1 0x00000030cba08e1a in _L_lock_1034 () from /lib64/libpthread.so.0
#2 0x00000030cba08cdc in pthread_mutex_lock () from /lib64/libpthread.so.0
#3 0x00002b03a1026efc in boost::thread::get_thread_info() const () from /opt/myprog/lib/libmyprog.so
#4 0x00002b03a10292ee in boost::thread::join() () from /opt/myprogram/lib/libmyprog.so
#5 0x00002b03a0fee34f in classA::thrdStop() () from /opt/myprogram/lib/libmyprog.so
#6 0x00002b03a0fee9a1 in classA::logout() () from /opt/myprogram/lib/libmyprog.so
#7 0x00002b03a0fee9e2 in classA::~classA() () from /opt/myprogram/lib/libmyprog.so
#8 0x00002b03a0feeaf0 in ?? () from /opt/myprogram/lib/libmyprog.so