Boost logo

Boost :

From: dherring_at_[hidden]
Date: 2008-07-09 12:42:34


On Wed, 9 Jul 2008, Ion Gaztañaga wrote:
> Sergei Politov wrote:
>> I have found the following problem with message_queue on win32 (MSVC 2008
>> + Windows Vista).
>
> Sadly, Interproces message queues are built above interprocess_mutex and
> interprocess_condition and they don't support process termination. It's
> not a bug, because they never tried to be termination-safe, but if you
> have an idea on how to do that without kernel support, I'm glad if you
> could help. In windows shared memory is emulated with mapped files, so
> it's possible that the mapped file will get corrupted if you kill processes.

If you can trust an atomic compare-and-swap to work in shared memory,
there are lock-free queue algorithms... e.g. the Michael/Scott algorithm.

- Daniel


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