From: Matt Hurd (matt.hurd_at_[hidden])
Date: 2005-08-31 23:03:03
> On 01/09/05, David Abrahams <dave_at_[hidden]> wrote:
> Matt Hurd <matt.hurd_at_[hidden]> writes:
> Please, whatever you can do! But please do a fresh rewrite. That
> doesn't mean you can't look at the old code; you just have to type new
> characters ;-)
OK, I'll start afresh. The code should be the easy part, the
documentation will be the main body of work I suspect.
> > With such a restructure the various platforms could have different
> > maintainers to eliminate a bit of the difficulty of trying to support
> > such a cross platform library.
> Makes sense.
> > I could pull together a basic posix-based implementation which could
> > be used on win32 with the posix32 lib as well, though a native win32
> > should happen as most people would find the posix32 layer
> > unacceptable. Perhaps the current implementation can be refactored to
> > do this, but starting from a clean slate so that the work can be
> > licensed under the boost license might be best.
> > Level 0 - basic atomic ops, fencing, thread, mutex (normal, recursive,
> > rw), condition - to be replaced and updated with the work happening
> > elsewhere by Lea, Boehm etal. This should also replace the atomic ops
> > used by shared_ptr over time. Should be in a style that suits generic
> > programming via a consistent interface which is currently lacking.
> > Level 1 - futures, threadables, message queues, etc, primitives along
> > the direction of Henney's work.
> > Level 2 - Framework abstractions to architect single process,
> > multi-process, multi-computer workflows. Needs boost::net / comms to
> > reach its potential.
> > Any thoughts?
> Not familiar enough with the library internals to comment.
A solid level 0 that can quickly be adapted to the direction of the
ISO C++ threading push and provide a foundation for the level 1 stuff
wil be goal I guess.
I expect there to be a level -1 that would support the level of
control that 95% of us don't need with a couple of dozen synch
primitives for various flavours of acquire release and the like. That
is not for now.
I'll add to the wiki or put up a page here at work to support the
effort by first thing next week.
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk