PSIGNAL(3) Library Functions Manual PSIGNAL(3)

psignal, strsignal, strsignal_r, sys_siglist, sys_signamesystem signal messages

Standard C Library (libc, -lc)

#include <signal.h>

void
psignal(int sig, const char *s);

extern const char * const sys_siglist[];
extern const char * const sys_signame[];

#include <string.h>

char *
strsignal(int sig);

int
strsignal_r(int sig, char *strsignalbuf, size_t buflen);

The (), strsignal(), and strsignal_r() functions locate the descriptive message string for a signal number.

The () function accepts a signal number argument sig and returns a pointer to the corresponding message string.

The () function renders the same result into strsignalbuf for a maximum of buflen characters and returns 0 upon success.

The () function accepts a signal number argument sig and writes it to the standard error. If the argument s is non-NULL and does not point to the null character, s is written to the standard error file descriptor prior to the message string, immediately followed by a colon and a space. If the signal number is not recognized (sigaction(2)), the string “Unknown signal” is produced.

The message strings can be accessed directly through the external array sys_siglist, indexed by recognized signal numbers. The external array sys_signame is used similarly and contains short, upper-case abbreviations for signals which are useful for recognizing signal names in user input. The defined variable NSIG contains a count of the strings in sys_siglist and sys_signame.

The strsignal() function returns a pointer to the desired message or NULL to indicate an error. This string is not to be freed by the caller. Beginning with Mac OS X 10.7, this string is unique to each thread.

The strsignal_r() function returns 0 if the message string was successfully copied in its entirety to strsignalbuf.

The strsignal() function will fail and no additional memory will be allocated if one of the following are true:

[]
There was insufficient memory to allocate storage space for the return value in the running thread.

The strsignal_r() function will return an error (but not fail) if one or more condition is met:

[]
buflen is not long enough to fit the length of the message. strsignalbuf will contain the message string that has been truncated and NUL terminated to fit the length specified by buflen.
[]
sig <= 0 or >= NSIG.

sigaction(2), perror(3), strerror(3)

The psignal() function appeared in 4.2BSD.

May 30, 2016 macOS 15.0