Boost logo

Boost Users :

Subject: Re: [Boost-users] boost::interprocess on FreeBSD 7
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2008-12-17 11:39:45


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_containers.html#interprocess.allocators_containers.containers_explained

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;content-type=text%2Fplain

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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net