From: Greg Colvin (gcolvin_at_[hidden])
Date: 1999-07-26 12:08:29
From: Paul Baxter <paje_at_[hidden]>
> That's not to say that alternatives aren't worth designing, but with that
> and the gnu pthreads project
> which could be wrapped up into C++, there are good quality alternatives
This is a non-preemptive library that I suspect cannot work with C++:
The context switching is done via POSIX [sig]setjmp(3) and [sig]longjmp(3).
Here all CPU registers, the program counter and the stack pointer are switched.
Additionally the Pth dispatcher switches also the global Unix errno variable
[see pth_mctx.c for details] and the signal mask (either implicitly via sigsetjmp(3)
or in an emulated way via explicit setprocmask(2) calls).
In my experience this approach has bad interactions with exception handling.
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