Re: How to make sure that signal handlers are run?
On Mon, Jul 23, 2001 at 03:20:58AM -0400, Roland McGrath wrote:
> > BTW, when is SA_RESETHAND functionality getting implemented? :-)
>
> I can't tell if you're joking. Does anybody care? Those boneheaded
> options have always been trivial and just noone ever knew a reason to
> bother with them. But since you asked, I just did it (also SA_NODEFER).
I was half joking, because SA_RESETHAND was first noted as missing
last fall. SUSv2 (at least the version I have) defines the following
SA_* constants:
SA_NOCLDSTOP
SA_ONSTACK
SA_RESETHAND
SA_RESTART
SA_SIGINFO
SA_NOCLDWAIT
SA_NODEFER
Curently only SA_ONSTACK, SA_RESTART, and SA_NODEFER are defined, because
Hurd uses glibc's generic version of bits/sigaction.h. You said now
we also have SA_RESETHAND and SA_NODEFER. But there's more to implement.
These options may be boneheaded, but they ard standard and there are
programs that use them.
Also, SA_SIGINFO may not be so trivial to implement, since it requires
the signal handler to be invoked with the proto type:
void (*sa_sigaction)(int signo, siginfo_t *info, void *context);
While at the moment, all hurd signal handlers are called implicitly
with the prototype:
void (*handler)(int sig, int code, struct sigcontext *scp);
Igor
Reply to: