Boost logo

Threads-Devel :

From: Anthony Williams (anthony_w.geo_at_[hidden])
Date: 2006-06-26 17:31:05


"Phil Nash" <phil.nash.lists_at_[hidden]> writes:

> Sorry if this is a basic question - but I was wondering what the status was
> of the rewrite effort of the threads library.

I'm making slow progress on the Windows port --- after a reasonable start,
I've had very little free time lately, so I've only managed to make a few
changes.

Roland made a start at pthreads, but I don't know how far he got.

> Browsing through the archives it looks like it's well underway - but do we
> have any idea when it might start to displace the current library yet?

Not at the moment.

> In the meantime, how "safe" is it to use the current (Bill Kempf's)
> implementation? I get the impression the basic level API shouldn't change
> much, if at all - but is that still the case?

It is definitely intended that the API will remain the same initially, though
there have been some discussions about potential improvements.

> Actually, one of the problems we have with ACE Threads is an unreasonable
> hard limit on TLS handles. What's the situation with the Boost libraries,
> both present and future, in this regard?

I'm not sure. I don't think there's a hard limit; it depends on the OS. Roland
may know more, as he's worked on this already.

> Also, I'm not a threading expert, and my time is very limited (where have
> you heard that before?), but is there any way I can assist with the ongoing
> effort (in a non-committed way!)?
> I have access to MSVC 6, 7.1 and 8 on Windows, and GCC 4 on Mac OS X
> 10.4(the latter being a new platform for me, so I'm no authority).

All help is much appreciated. Enhancing the tests is always going to be
useful, and is something that can be done without much commitment. I've been
working on writing some more comprehensive tests for the mutex concepts, and
have consequently pulled up some defects in my implementation of the mutex
locking stuff --- like ensuring that a scoped_lock throws if you try and lock
it twice within the same thread (this is NOT deadlock detection, just simple
logic error detection).

> In any event, where should I be looking for the latest development source?

Boost CVS, on the thread_rewrite branch. You need to check out HEAD, and then
check out the thread_rewrite branch in the following directories:

libs/thread
boost/thread

by changing to those directories and issuing the following command:

cvs update -dPf -r thread_rewrite

Anthony

-- 
Anthony Williams
Software Developer
Just Software Solutions Ltd
http://www.justsoftwaresolutions.co.uk

Threads-Devel 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