No subject

Unknown Unknown
Mon Jan 15 12:51:07 PST 2007

504 at> <45A08F10.4030004 at> <45A81D54.5040909 at> <002701c736a8$72084a20$1200a8c0 at> <45A82676.1000204 at> <007301c736ac$5c99da10$1200a8c0 at> <45A838AA.9030008 at> <200701130306.l0D36JX8007342 at> <45A87472.3040108 at> <45A879FF.8060407 at> <200701130649.l0D6nE8j008759 at apollo.> <009301c73746$cdce3470$1200a8c0 at> <200701132000.l0DK0QsA020885 at ap>
From: "Matt Emmerton" <matt at>
Subject: Re: Request for swapcontext and getcontext to be ported to our libc [ revision 3 ]
Date: Mon, 15 Jan 2007 15:43:51 -0500
List-Post: <mailto:users at>
List-Subscribe: <mailto:users-request at>
List-Unsubscribe: <mailto:users-request at>
List-Help: <mailto:users-request at>
List-Owner: <mailto:owner-users at>
MIME-Version: 1.0
Content-Type: text/plain;
Content-Transfer-Encoding: 7bit
Sender: users-errors at
Errors-To: users-errors at
Lines: 32
X-Trace: 1168894489 830
Xref: dragonfly.users:8620

> :I agree with the assessment.  Last night I moved all the requisite bits
> :kernel-space into libc, with the exception of the low-level
> :[get|set]_mcontext routines.  (My Intel assembly knowledge is very
> :especially for anything after the 8086, so I could use some help to write
> :this code.)  I'm almost done the syscall work to get/set the signal mask
> :pending signal mask, so should have something up on the web before the
> :of the afternoon (EST) for review.
> :--
> :Matt Emmerton
>     I can do that bit.  If you post the bits you have I can supply and
>     test the low level switch code.
> -Matt
> Matthew Dillon

A first cut of the libc-based implementation, using a (new) syscall to
get/set the signal its is available, and can be found here: (rev3, bottom of page)

Note that this implementation is not complete, as it is missing the userland
get/set_mcontext code.  I'm sure I've also missed some nuance wrt signal
handling (locking, ordering, etc) in the design and use of the new sigmask

Matt Emmerton

More information about the Users mailing list