Date: Mon, 13 Apr 1998 20:49:57 +0000 From: Niall Smart <rotel@indigo.ie> To: James Raynard <fhackers@jraynard.demon.co.uk>, rotel@indigo.ie Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: PR kern/1144 Message-ID: <199804131949.UAA07048@indigo.ie> In-Reply-To: James Raynard <fhackers@jraynard.demon.co.uk> "Re: PR kern/1144" (Apr 13, 4:06pm)
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 13, 4:06pm, James Raynard wrote:
} Subject: Re: PR kern/1144
> On Mon, Apr 13, 1998 at 01:47:14PM +0000, Niall Smart wrote:
> > The abovementioned PR is for sig{add, del}set and sigismember.
> > Apparently POSIX requires that these functions check that the
> > specified signal number exists, which they currently do not do.
[snip]
> > So should I submit patches to fix this
> > problem by deleting the macro definitions and adding the required
> > checking to /usr/src/lib/libc/gen/sigsetops.c or are we going to
> > ignore POSIX?
>
> The consensus seemed to be that there was no easy way to do it, so
> we've been ignoring POSIX ever since (in that respect at least) :-)
Hrm, is this still the `official' position? It's nice to follow
standards when you can, and I don't see that changing to functions
instead of macro's would cause big, if any problems.
> Incidentally, I've been working on some patches to get around the
> NSIG==32 limit. I've done most of the "boring" work, but there are
> a few things left over that I don't really know enough to handle:
>
> 1. Emacs breaks (albeit an old version - 19.29). Everything else
> I've tried works, including linuxxdoom.
Do you mean an emacs binary compiled when sigset_t typedef'd to unsigned
int, or one compiled with sigset_t typedef'd to u_int64_t?
> 2. I had to add an extra system call osigprocmask for the compat stuff
> which does exactly what the old sigprocmask call used to do. This
> makes upgrading to the new code a real pain.
Why was this necessary? Are you talking about dealing with code
that passes an int* instead of a sigset_t*? Or perhaps you are
talking about code that has already been compiled with sigset_t
typedef'd to int? Can't that be handled in a compatability library
without defining a new system call?
> 3. Could probably do with optimising, as well. Not to mention the usual
> stylistic/code management issues...
>
> Anyone care to help me out?
I don't have a machine with -current, nor do I have commit priveledges,
so I don't know if there is anything I can do -- where is the code
that handles NSIG >= 32 that you have so far?
Regards,
Niall
--
Niall Smart. Microsoft Suck. See www.freebsd.org for details.
echo "#define if(x) if(!(x))" >> /usr/include/stdio.h
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199804131949.UAA07048>
