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
> http://www.gnu.org/software/pth/pth.html
> which could be wrapped up into C++, there are good quality alternatives
> already.

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.