
Andy Wiese wrote:
Using boost::interprocess from boost_1_37_0 on FreeBSD 7.0,
I get a segmentation fault in pthread_mutex_lock() from /lib/libthr.so.3, in what appears to anything related to a ShmemAllocator.
For example, when I run the example from http://www.boost.org/doc/libs/1_37_0/doc/html/interprocess/allocators_contai...
I haven't never tried FreeBSD 7.0 so I don't even know if it is properly detected so that emulation code is used instead of native process-shared mutexes. Googling around, it seems that FreeBSD does not support process-shared mutexes, and the header unistd.h from FreeBSD: http://www.freebsd.org/cgi/cvsweb.cgi/src/include/unistd.h?rev=1.80.2.1.2.1;... seems to define _POSIX_THREAD_PROCESS_SHARED to -1, which is handled in boost/interprocess/detail/workaround.hpp to use emulation instead of pthread calls? Can you help me with this? FreeBSD it's on my to-do list but I don't know when I'll have time to download, install and test it with Interprocess :-( Please, try to get the latest SVN code for latest bugs and try to define BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION to avoid using pthread calls. But we must also see why FreeBSD configuration is not properly detected. Regards, Ion