$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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.