Skip site navigation (1)Skip section navigation (2)
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>