
Hi Ion, Thanks very much for your reply. In my application I wanted to use interprocess_condition class as well - what would I need to modify in there to cope with EOWNERDEAD errors? Cheers, ddrum 2011/3/29 Ion Gaztañaga <igaztanaga@gmail.com>
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 _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost