standards/92362: [headers] [patch] Missing SIGPOLL in kernel
headers
Garrett Cooper
gcooper at FreeBSD.org
Sun Jan 16 22:00:22 UTC 2011
The following reply was made to PR standards/92362; it has been noted by GNATS.
From: Garrett Cooper <gcooper at FreeBSD.org>
To: bug-followup at FreeBSD.org, rmh at aybabtu.com
Cc: standards at freebsd.org
Subject: Re: standards/92362: [headers] [patch] Missing SIGPOLL in kernel headers
Date: Sun, 16 Jan 2011 13:50:00 -0800
The OP's claim is wrong. SIGIO is a signal that can be discarded,
whereas SIGPOLL by definition terminates processes.
From SUSv7 (pardon the poor formatting):
The following signals shall be supported on all implementations
(default actions are explained below the table):
Signal Default Action Description
SIGPOLL T Pollable event.
T
Abnormal termination of the process. The process is terminated
with all the consequences of _exit() except that the status made
available to wait() and waitpid() indicates abnormal termination by
the specified signal.
From signal(3) (pardon the poor formatting):
23 SIGIO discard signal I/O is possible on a descriptor
(see fcntl(2))
SIGPOLL is actually somewhere between SIGIO and SIGIOT (SIBABRT),
but there isn't a 1:1 mapping for the signal definition. This is also
XSI Stream specific (which is not [fully] implemented in [Free]BSD).
SIGIO is also used by fcntl(2) to denote when I/O is available, but
this connotation is not noted in SUSv7 either.
This item should probably be closed as WONTFIX as we don't
implement SIGPOLL in its proper form.
Thanks,
-Garrett
PS FWIW GNU/Linux needs to be educated on the fact that SIGIO is a
discardable signal on other platforms and not an alias for SIGPOLL on
BSD (especially when they use it as an alias but don't document the
requirement >:(...), because a quick look at some glibc and Linux
headers shows that they are using them as a 1:1 mapping (I am using
Fedora 13 as a reference).
More information about the freebsd-standards
mailing list