Boost logo

Boost :

From: Jim Douglas (jim_at_[hidden])
Date: 2006-02-17 02:35:16


Please always state in your review, whether you think the library should
be accepted as a Boost library!

Yes

- How much effort did you put into your evaluation? A glance? A quick
reading? In-depth study?

A glance at the docs and a couple of attempts at the tests.

- Are you knowledgeable about the problem domain?

The QNX OS offers many techniques for IPC - shared memory is just one of
those. I use it a lot, but normally for POD (Plain Old Data) and simple
non-virtual classes. I have learned the hard way over the years about
its limitations e.g. no pointers, no virtual classes etc.

I look forward to being able to evaluate this library in more depth as
time permits.

- Did you try to use the library? With what compiler? Did you have any
problems?

I attempted to build and test on QNX Neutrino v6.3.0 (aka QNX6) using
the gcc 3.3.5 compiler and Dinkumware C++ std library. There were some
compile failures and test failures, but nothing that could not be fixed
given time. The QNX supplied GNU C++ std library fails miserably because
the wide character support is disabled.

- What is your evaluation of the design?

Generally good. QNX does not currently support memory mapped files
although it does allow the creation of regular files (but not
directories) under /dev/shmem. Memory mapped files are being implemented
and are promised for a future release.

- What is your evaluation of the documentation?

Others have said it all.

- What is your evaluation of the potential usefulness of the library?

The core classes for managing the memory space save a lot of C code and
go way beyond the simple helper classes I have written. Synchronisation
primitives are pretty much mandatory in shared memory applications and I
welcome these. I look forward to evaluating the use of STL classes and
being able to treat the shared memory dynamically.

A number of the extensions that you propose in the form of message
passing queues between processes already exist in the QNX kernel, but I
can see the potential for less fortunate :-) operating systems.

Jim Douglas


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