Messages in this thread | | | Date | Tue, 15 Apr 1997 18:37:17 -0400 | From | "Theodore Y. Ts'o" <> | Subject | Re: RFC: 'more signals' patch, 2.1.33 |
| |
From: Richard Henderson <richard@stommel.tamu.edu> Date: Tue, 15 Apr 1997 14:46:29 -0500 (CDT)
We will, pretty much by definition, require a new set of syscalls to handle the new signals. I suggest we do it in such a way that the kernel and libc are somewhat disconnected about the number of signals.
With libc 6.x, the syscall interface and the libc interface are already separated.
A slightly more difficult situation is what to do with sigsets smaller than the kernel's, at least if we do manage to decouple libc from other libraries from the application. Consider the common idiom.
struct sigaction new, old;
new = ... sigaction(SIGFOO, &new, &old); ... sigaction(SIGFOO, &old, NULL);
That's easy; the library routine sigaction can simply return an error if SIGFOO is beyond what libc can handle. Hence, the number of signals you can handle is always the minimum of what libc can handle and what the kernel can handle.
Note that libc 6.x already has the limit set at 1024 signals, which should be far, far, far more than you will ever need. If you come even close to that limit, you're doing something really wrong.
- Ted
| |