Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jun 1996 11:33:41 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        bde@zeta.org.au (Bruce Evans)
Cc:        hackers@freebsd.com, jau@jau.csc.fi
Subject:   Re: POSIX.4 signals + other POSIX.4 stuff to FreeBSD...
Message-ID:  <199606271833.LAA05478@phaeton.artisoft.com>
In-Reply-To: <199606271240.WAA10241@godzilla.zeta.org.au> from "Bruce Evans" at Jun 27, 96 10:40:19 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> >	the kernel though. The kernel seems still to be infested with
> >	fragments of code that assume sigset_t is a simple integer
> >	type ANDing and ORing bits in the sigset_t variables instead
> >	of using the POSIX.1 macros to manipulate the signal sets.
> 
> The kernel is allowed to do this as an optimization since it knows
> that sigset_t is an unsigned int in the "machine-independent" file
> <sys/signal.h>.  The POSIX macros require the sigset_t to be indirect
> so they are likely to be unnecessarily inefficient.
> 
> >	containing such an array. I have now more or less figured out
> >	all these code fragments within the kernel itself, but it seems
> >	that also the Linux application binary interface etc. LKMs have
> 
> More importantly, the size of a sigset_t is appart of the BSD binary
> interface.  The kernel would have to support variably-sized sigset_t's
> to support old binaries :-(.  There is no such thing as a variably-sized
> struct, and the current sigset_t doesn't encode its size, this isn't
> easy.

Use the extended structure size only in the extension interfaces, and
assume defaults for the non-extension interfaces (you will have to
do this as part of the ABI mapping in any case).  I did something
similar to this for the fcntl() calls for NFS server locking, which
requires system and process ID's for the proxy.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199606271833.LAA05478>