
Hello to all, As promised two weeks ago, I have a first rough version of shared memory library in Yahoo Files. I've renamed and reenginered the classes from my STL in shared memory article and boostified almost all parts. The file is in: http://groups.yahoo.com/group/boost/files/boost.shmem.zip Shared memory mutex interface is taken from Boost Threads and scoped locks are needed to lock the mutexes. Since thread scoped locks can't be used from single threaded processes due to header checks, I've cloned them in Boost Shmem, but I would want to reuse thread locks if this library goes on. The offset smart pointer takes much of its interface from boost smart pointers. Boost config is used to build the different dll versions with auto-link and some boost utilities are used (noncopyable for example). This version uses templatized shared memory front-end so that a new shared memory management allocation can be used without changing existing code. In general, I've tried to all that I think it was necessary to adapt to boost, although surely there are many flaws here. The boost shmem jamfile builds for VC-7_1 in WinXP and gcc 3.4.1 in Mandrake 10.1. I've put several test and example files, although my poor jam knowledge makes that tests can only be build for windows using bjam (i don't know how to pass -l link specific options when building in linux to link with librt.a, sorry). Under proj directory there are some VC .NET IDE files to build the library, examples and tests and also a Makefile to build all under linux). I've also documented almost all files using doxygen style and the reference can be build using bjam --v2. If this library goes on, I plan to build a complete boostbook, since I've been reading all the documentation from boost utils. For now, there is a single page help as a tutorial/internal explanation. I would to know if those people that saw the library idea as interesting need any more features for this first version. Francis Andre needs some more sofisticated options and I would like to work with him for a more elaborated version if this library is accepted for boost. Francis suggested compatibility with boost.serialization and I would need some help with that. For this first and surely far from acceptable version I would like receive any comment you like regarding dessign, interface, etc... Help with bjam for building all correctly will be appreciated. I've put some attention in exception handling but surely there will be some problems due to my lack of experience in this area. If anyone wants to colaborate in any aspect of this library, please let me know, I'm totally open for this. Regards, Ion GaztaƱaga