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