First draft: rewrite of {get|set|swap}context(3)

David Xu davidxu at viatech.com.cn
Sun Aug 17 20:31:16 PDT 2003


----- Original Message ----- 
From: "Daniel Eischen" <eischen at vigrid.com>
To: "David Xu" <davidxu at freebsd.org>
Cc: <threads at freebsd.org>; "Marcel Moolenaar" <marcel at xcllnt.net>
Sent: Monday, August 18, 2003 11:12 AM
Subject: Re: First draft: rewrite of {get|set|swap}context(3)
> > 
> > Then doesn't signal context in signal handler have a UCF_SIGMASK ?
> > 
> > void    (*__sa_sigaction)(int, struct __siginfo *, ucontext_t *ucp);
> > the context *ucp should have UCF_SIGMASK now.
> > I think it should be UCF_NOSIGMASK. But for libkse, we really needn't
> 
> I think so too.
> 
> > this kind of hack, because M:N thread in kernel always masks all signals,
> > you can always SIGFILLSET(&uc.uc_sigmask) before call set_context.
> 
> That works for M:N, but not when THR_GETCONTEXT() (and perhaps
> someday THR_SETCONTEXT()) is used for a scope system thread.
> Hmm, this wouldn't seem to result in a context that needs to
> be restored by the syscall though.
> 

I just think UCF_SIGMASK is not asked by POSIX,  also we can always
set a right signal mask for scope system thread,  I am not objecting the flag,
but it is not a must-have thing for current libkse.

> -- 
> Dan Eischen
> 
> _______________________________________________
> freebsd-threads at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-threads
> To unsubscribe, send any mail to "freebsd-threads-unsubscribe at freebsd.org"


More information about the freebsd-threads mailing list