The formal review of Ion Gaztañaga's Shmem library ended yesterday. I
am pleased to announce that it was accepted into Boost! This library
clearly generated a lot of interest from people since we got quite a
few reviews. All of them were positive. During the discussion, some
weaknesses in the library were found, and Ion has agreed to correct
- Improvements to the documentation and example code.
- Clearer documentation on which header files to include for which objects.
- Removing the 2-phase construction mechanism and replacing them with
- Adding !is_polymorphic static asserts when inserting an object into
Several difficult issues were raised during the review that will not
be solved immediately. These include:
- Security information about the shared memory object is currently avoided.
- The synchronization objects have some weaknesses. Some of these
weaknesses are related to the same weaknesses in Boost.Threads.
- Memory mapped file regions are not separate from memory mapped files
in the current implementation.
- Multi-segment shared memory that would allow the shared memory object to grow.
Perhaps these issues could be dealt with in a future version.
Thank you, everyone, for the reviews and discussions about Shmem. This
library should be extremely useful to those doing IPC.