.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:45:17 1993 by Rik Faith (faith@cs.unc.edu)
-.\" FIXME glibc 2.10 adds psiginfo(), specified in SUSv4. This function
-.\" should be documented, probably on this page.
-.TH PSIGNAL 3 2008-08-21 "GNU" "Linux Programmer's Manual"
+.TH PSIGNAL 3 2010-10-06 "GNU" "Linux Programmer's Manual"
.SH NAME
-psignal \- print signal message
+psignal, psiginfo \- print signal message
.SH SYNOPSIS
.nf
.B #include <signal.h>
.sp
.BI "void psignal(int " sig ", const char *" s );
+.BI "void psiginfo(const siginfo_t *" pinfo ", const char *" s );
.sp
.BI "extern const char *const " sys_siglist [];
.fi
.BR psignal ():
_SVID_SOURCE || _BSD_SOURCE
.br
+.BR psiginfo ():
+_XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L
+.br
.IR sys_siglist :
_BSD_SOURCE
.SH DESCRIPTION
The
.BR psignal ()
function displays a message on \fIstderr\fP
-consisting of the string \fIs\fP, a colon, a space, and a string
-describing the signal number \fIsig\fP.
+consisting of the string \fIs\fP, a colon, a space, a string
+describing the signal number \fIsig\fP, and a trailing newline.
+If the string \fIs\fP is NULL or empty, the colon and space are omitted.
If \fIsig\fP is invalid,
the message displayed will indicate an unknown signal.
-.PP
+
+The
+.BR psiginfo ()
+function is like
+.BR psignal (),
+except that it displays information about the signal described by
+.IR pinfo ,
+which should point to a valid
+.I siginfo_t
+structure.
+As well as the signal description,
+.BR psiginfo ()
+displays information about the origin of the signal,
+and other information relevant to the signal
+(e.g., the relevant memory address for hardware-generated signals,
+the child process ID for
+.BR SIGCHLD ,
+and the user ID and process ID of the sender, for signals set using
+.BR kill (2)
+or
+.BR sigqueue (2)).
+
The array \fIsys_siglist\fP holds the signal description strings
indexed by signal number.
.SH "RETURN VALUE"
The
.BR psignal ()
-function returns no value.
+and
+.BR psiginfo ()
+functions return no value.
+.SH VERSIONS
+The
+.BR psiginfo()
+function was added to glibc in version 2.10.
.SH "CONFORMING TO"
POSIX.1-2008, 4.3BSD.
+.SH BUGS
+In glibc versions up to 2.12,
+.BR psiginfo ()
+had the following bugs:
+.IP * 3
+In some circumstances, a trailing newline is not printed.
+.\" FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12107
+.\" Reportedly now fixed; check glibc 2.13
+.IP *
+Additional details are not displayed for real-time signals.
+.\" FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12108
+.\" Reportedly now fixed; check glibc 2.13
.SH "SEE ALSO"
+.BR sigaction (2),
.BR perror (3),
-.BR strsignal (3)
+.BR strsignal (3),
+.BR signal (7)