libc: Add the psiginfo() function.
authorSascha Wildner <saw@online.de>
Thu, 1 Jan 2015 20:21:16 +0000 (21:21 +0100)
committerSascha Wildner <saw@online.de>
Fri, 2 Jan 2015 13:13:11 +0000 (14:13 +0100)
It is required by _POSIX_C_SOURCE == 200809.

include/signal.h
lib/libc/gen/Makefile.inc
lib/libc/gen/psignal.3
lib/libc/gen/psignal.c

index ab76955..cca459b 100644 (file)
@@ -89,6 +89,7 @@ int   sigwaitinfo(const sigset_t * __restrict, siginfo_t * __restrict);
 #endif
 
 #if __POSIX_VISIBLE >= 200809
+void   psiginfo(const siginfo_t *, const char *);
 void   psignal(unsigned int, const char *); /* XXX signum should be int */
 #endif
 
index 15b5746..b40c13a 100644 (file)
@@ -168,7 +168,8 @@ MLINKS+=posix_spawnattr_getschedpolicy.3 posix_spawnattr_setschedpolicy.3
 MLINKS+=posix_spawnattr_getsigdefault.3 posix_spawnattr_setsigdefault.3
 MLINKS+=posix_spawnattr_getsigmask.3 posix_spawnattr_setsigmask.3
 MLINKS+=posix_spawnattr_init.3 posix_spawnattr_destroy.3
-MLINKS+=psignal.3 strsignal.3 psignal.3 sys_nsig.3 psignal.3 sys_siglist.3 \
+MLINKS+=psignal.3 psiginfo.3 \
+       psignal.3 strsignal.3 psignal.3 sys_nsig.3 psignal.3 sys_siglist.3 \
        psignal.3 sys_signame.3
 MLINKS+=pwcache.3 group_from_gid.3 pwcache.3 user_from_uid.3
 MLINKS+=rand48.3 drand48.3 rand48.3 erand48.3 \
index 8bedcec..95f3120 100644 (file)
 .\"     @(#)psignal.3  8.2 (Berkeley) 2/27/95
 .\" $FreeBSD: src/lib/libc/gen/psignal.3,v 1.10.2.5 2003/03/15 15:11:05 trhodes Exp $
 .\"
-.Dd February 27, 1995
+.Dd January 2, 2015
 .Dt PSIGNAL 3
 .Os
 .Sh NAME
 .Nm psignal ,
+.Nm psiginfo ,
 .Nm strsignal ,
 .Nm sys_siglist ,
 .Nm sys_signame ,
@@ -44,6 +45,8 @@
 .In signal.h
 .Ft void
 .Fn psignal "unsigned sig" "const char *s"
+.Ft void
+.Fn psiginfo "const siginfo_t *si" "const char *s"
 .Vt extern const char * const sys_siglist[] ;
 .Vt extern const char * const sys_signame[] ;
 .Vt extern const int sys_nsig ;
@@ -84,6 +87,16 @@ the string
 .Dq "Unknown signal"
 is produced.
 .Pp
+The
+.Fn psiginfo
+function is similar to
+.Fn psignal ,
+except that the signal number information is taken from the
+.Fa si
+argument which is a
+.Vt siginfo_t
+structure.
+.Pp
 The message strings can be accessed directly
 through the external array
 .Va sys_siglist ,
@@ -120,3 +133,7 @@ The
 .Fn psignal
 function appeared in
 .Bx 4.2 .
+The
+.Fn psiginfo
+function appeared in
+.Dx 4.1 .
index 21a451f..0fc5ddf 100644 (file)
@@ -31,7 +31,6 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/lib/libc/gen/psignal.c,v 1.5 2000/01/27 23:06:19 jasone Exp $
- * $DragonFly: src/lib/libc/gen/psignal.c,v 1.5 2005/11/13 00:07:42 swildner Exp $
  *
  * @(#)psignal.c       8.1 (Berkeley) 6/4/93
  */
@@ -62,3 +61,9 @@ psignal(unsigned int sig, const char *s)
        _write(STDERR_FILENO, c, strlen(c));
        _write(STDERR_FILENO, "\n", 1);
 }
+
+void
+psiginfo(const siginfo_t *si, const char *s)
+{
+       psignal(si->si_signo, s);
+}