Subject: Re: [boost] [Interprocess::Semaphore] Deadlock on more producers - one consumer problem
From: James Mansion (james_at_[hidden])
Date: 2009-06-22 17:07:31
Ion Gaztañaga wrote:
> How are Boost libraries suppossed to work? First of all, the goal of
> the library was portability it's easier to model POSIX primitives in
> Windows than the inverse without the need of any server daemon.
Why do you say that?
> After all, POSIX is supposed to be the standard, isn't ist?
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.
> Ok, Boost libraries are supposed to be the base of standardization and
> that requires portability at least in UNIX and Windows. I found POSIX
> behaviour was more portable.
'More portable' between what? Between a bunch of systems with different
falavours and a decent-but-not-overwhelming total share of the server
market and MacOS-plus-bit-part share of the desktop?
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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk