Boost logo

Boost :

Subject: Re: [boost] boost interprocess (>1.45) robust mutexes
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2011-03-29 17:46:47


El 29/03/2011 19:34, Rusk . escribió:
> Hi,
>
> I have noticed that in version 1.45 Ion Gaztanaga has added
> detail/robust_emulation.hpp which contains code that seems to emulate
> pthread_mutexattr_setrobust_np(). I understand this may be needed for
> platforms that don't support robust mutexes. My version of linux does seem
> to support robust mutexes, however I could not find a way to compile or in
> any other way to use this flag on posix mutexes in boost 1.46.1.

It's an experiment to emulate robust mutexes in platforms without them,
but using this for platforms with posix process shared mutexes would
have a big performance impact. I haven't tested this much and I have now
too many fronts and pending updates to work on this, that's why it is in
detail directory right now. It's experimental and it won't be stable,
I'm afraid. I plan to continue to work on this after Boost.Move is
stabilized and Boost.Container review passes.

The idea is also to experiment a bit with different C++ implementations
to find a correct C++ interface for robust mutexes, since POSIX
semantics are not very easily mappable to current lock semantics.

Meanwhile you can modify

boost/interprocess/sync/posix/pthread_helpers.hpp

and set robust mutex attribute in mutexattr_wrapper in you code.

Ion


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk