Garrett Wollman wrote:
> 
> <<On Mon, 06 Sep 1999 11:03:35 +0200, Marcel Moolenaar <[EMAIL PROTECTED]> said:
> 
> > kernel/userland       -  http://www.FreeBSD.org/~marcel/signal.diff
> 
> There appear to be some fairly gratuitous name changes in here.

Elaborate, please.

> Also, my own feeling is that it would be better to continue to use
> integral types for signal sets inside the kernel.  This makes the code
> much easier to follow (at least for me), and underlines the necessity
> of compatibility interfaces if the size is ever changed again.

Having an integral sigset_t, if at all possible, has the disadvantage that
existing expressions on the new datatype are probably valid syntactically
speaking, but may not be semantically valid, which makes debugging rather
painful. Having a struct ensures that the compiler will barf.

I just doubled the number of signals in a sigset_t, because it was planned
that way (compatibility with NetBSD and such). The latest working version
has thus 128 bits in a sigset_t. (BTW: That was before you asked me if I
could hold off).

> As for the setjmp/longjmp problems I mentioned... I wonder if it might
> not be preferable to make them system calls as well.  There are some
> hints in the siglongjmp source code to suggest that the restoration of
> context needs to be atomic with respect to signal masking and
> delivery.  That would make it possible to introduce versioning in
> JMP_BUF structs, which would in turn make it easier to deal with
> backwards compatibility in the future.

The setjump/longjump family of functions are userland function AFAICT. For
that reason I would not choose to add syscalls. If atomicy is a real
problem, then it may be preferable to have the kernel help out. Anyway,
this issue is basicly independent of the sigset_t change.

-- 
Marcel Moolenaar                        mailto:[EMAIL PROTECTED]
SCC Internetworking & Databases           http://www.scc.nl/
The FreeBSD project                mailto:[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to