
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. James