Boost logo

Boost :

Subject: [boost] [interprocess][iostreams] trac#4234
From: Domagoj Saric (dsaritz_at_[hidden])
Date: 2010-10-10 21:31:41


As part of my work on GIL.IO2
(https://svn.boost.org/svn/boost/sandbox/gil/boost/gil/extension/io2/detail)
I've somewhat improved/generalized the original 'proof of claim' code from
the post mentioned in the ticket
(https://svn.boost.org/trac/boost/ticket/4234)...
However, in the same process I've gone through the Interprocess
implementation of memory mapped files and AFAICT the various platform
specific distinctions seem unnecessary:
 - AFAIK the POSIX 'anonymous inheritable' shared memory functionality is
also available on Win32
 - kernel-life time shared memory emulation with memory mapped files on
Windows is also unnecessary. It can be either provided directly by bypassing
the Win32 APIs using the native NT API (I volunteer to help with the
implementation or can do it from scratch by myself) or a new distinction can
be made (that does not have anything platform specific in its interface)
such that a user can choose between a handle/process life time (which I
suppose would be enough most of the time, because what use is there for a
client to map a shared memory region after the server has already
terminated) or kernel life time shared memory regions (which would then be
emulated on Win32)...AFAICT the only thing the Win32 API lacks for this is
getting the size of the mapped region which could perhaps be emulated by
passing the size at the begining of the mapped region...

--
"What Huxley teaches is that in the age of advanced technology, spiritual
devastation is more likely to come from an enemy with a smiling face than
from one whose countenance exudes suspicion and hate."
Neil Postman 

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