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>