Matthew Dillon wrote:
The answer is: yes, it is possible. There is no reason why the signal mask (and signal pending bitmap) couldn't be stored in user memory, allowing the userland threading system to swap out the maskwithout entering the kernel.
I absolutely agree. I am thinking of a special page mapped in kernel and userspace memory, where things like signal mask and pending (per thread) are located, and maybe also a timecounter, pid, etc.
So I think there is a very good argument for making the current release implementation do these calls in libc and not as system calls, and initially have libc just get the signal mask with a system call, then at some later date add the feature sthat allow the userland context routines to run fully without having to make any system calls at all.
If Matt Emmerton finds the time to implement it, I am all for it. Having these functions as syscalls seems wrong in my eyes. cheers simon -- Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\ Work - Mac +++ space for low €€€ NOW!1 +++ Campaign \ / Party Enjoy Relax | http://dragonflybsd.org Against HTML \ Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
signature.asc
Description: OpenPGP digital signature