Re: sigaction(2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Gergely,

[Best to CC linux-man on man-pages comments and bug reports; CC added]

On Sat, Oct 4, 2008 at 1:31 AM, Gergely Soos <sogerc1@xxxxxxxxx> wrote:
> Greetings,
>
> I have a suggestion for the manpage of sigaction(2): It should state that a
> signal can be blocked and the list of blocked signals is inherited from the
> parent process.
> It would have saved me hours of struggling if it did state it. (
> http://bugs.kde.org/show_bug.cgi?id=170418 )

My response to your bug report is multi-levelled ;-).

0. Since sigaction(2)'s purpose is primarily about setting signal
dispositions, that page is not really the right place for describing
the samantics of the signal mask with respect to fork(), or to explain
that a signal can be blocked.

1. These (rather fundamental) facts are already covered in signal(7),
which provides an overview of signals and attempts to point the reader
to all of the other relevant man page sfor each topic, and
sigprocmask(), which describes the details of how to block a signal.

2. This raises the question: why didn't you read signal(7)?  It is
listed in the SEE ALSO section at the bottom of the page, and also in
a couple of other places in the page.

3. Answering my own question: perhaps (probably!) the sigaction(2) man
page just isn't explicit enough about referring the reader to
signal(7).  So I added a sentence to the very first paragraph to
explicitly refer the reader to signal(7).

4. Your report actually prompted me to go through various
signal-related pages to see how well they describe the semantics with
respect to fork() and execve().  Among other things I now added text
to signal(7) describing the semantics with respect to fork() and
execve() for signal dispositions, signal mask, and pending signals.
Here's a summary (full details via git) of today's changes that I made
after your report:

signal.7: describe semantics w.r.t. fork() and execve()
sigaction.2: refer reader to signal(7) for an overview of signals
sigaction.2: explain semantics of signal disposition during fork() and execve()
sigwaitinfo.2: distinguish per-thread and process-wide signals
sigwaitinfo.2: these interfaces have per-thread semantics
sigaltstack.2: explain inheritance of alternate signal stack across fork(2)
sigpending.2: explain effect of fork() and execve() for pending signal set
sigpending.2: explain how thread's pending signal set is defined
sigprocmask.2: explain effects of fork() and execve() for signal mask
sigaction.2: refer to signal(7) for more details on signal mask.

All of these changes will be in man-pages-3.11, and are already
available via git.

Thanks for your report!

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git
man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux