From: John Max Skaller (skaller_at_[hidden])
Date: 2001-08-22 00:03:33
> > POSIX:
> > "void pthread_exit(void * value_ptr);
> > ...
> > The process shall exit with an exit status of 0 after
> > the last thread has been terminated. The behavior shall
> > be as if the implementation called exit() with a zero
> > argument at thread termination time."
> Hmm... I was not aware that POSIX operated this way. Seems to me
> that this means the pthreads-win32 isn't compliant (unless they found
> some way to work around this). The main thread on Win32 is
> synonymous with the process and if you exit the process all threads
> are terminated. I'm not sure what Boost.Threads will do in this
> regard if/when we add thread::exit().
AFAIK Linux isn't compliant either. There's no such thing as a thread
under Linux. They're all processes. Any one can die at any time,
the others just keep running. Creating a daemon on Linux is easy :-)
You may need to add a detach method, and require either
join or detach be called. [Then a fault is the users, no matter which
OS they're using]
-- John (Max) Skaller, mailto:skaller_at_[hidden] 10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850 New generation programming language Felix http://felix.sourceforge.net Literate Programming tool Interscript http://Interscript.sourceforge.net
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk