Request for swapcontext and getcontext to be ported to our libc

Simon 'corecode' Schubert corecode at
Fri Jan 12 22:02:45 PST 2007

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 mask
    without 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.

Serve - BSD     +++  RENT this banner advert  +++    ASCII Ribbon   /"\
Work - Mac      +++  space for low €€€ NOW!1  +++      Campaign     \ /
Party Enjoy Relax   |      Against  HTML   \
Dude 2c 2 the max   !       Mail + News   / \
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00008.pgp
Type: application/octet-stream
Size: 252 bytes
Desc: "Description: OpenPGP digital signature"
URL: <>

More information about the Users mailing list