|
Boost : |
Subject: Re: [boost] [Interprocess::Semaphore] Deadlock on more producers - one consumer problem
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2009-06-23 12:02:07
James Mansion wrote:
> Its a standard. It has the supposed advantage of being a de jure
> standard - but what does that mean in reality? Portability between a
> lot of bit players? Real world portability has to mean Windows, MacOS
> and Linux now, with 'real POSIX' somewhat secondary, which is galling
> for those of us with sympathy for systems like Solaris with a history of
> POSIX compliance foremost and frippery second.
I think current approach is portable between Windows, MacOs and Linux.
Maybe not as efficient as it should be, but portable anyway. Portable
enough to present a shared memory proposal to the standard.
> Windows and POSIX are sadly rather different even when the APIs are
> superficially similar. You can fake one on the other but doing so with
> the same atomicity is quite hard - even at the level of something as
> ostensibly simple as pread. There is no substitute for designing for
> both approaches at once. Still, its done now, unless there is any real
> stomach to have a second attempt at a shared memory API for Boost.
I think current attempt is positive, taking in care all the difficulties
you've just mentioned. If that's not enough, I'm open to suggestions,
but I definitely need help, because sadly I can only dedicate a small
part of my time to Boost. What would like to see in the library,
additional classes for Windows IPC, and System V IPC? Since implementing
all those is a heavy task, do you have some preferences on what should
we implement first?
Best,
Ion
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk