+.Sh RETURN VALUES
+.Fn strsignal
+a pointer to the desired message or a NULL value indicating an error. This
+string is not to be freed by the caller. Beginning with Mac OSX 10.7, this
+string is unique to each thread.
+.Pp
+.Fn strsignal_r
+0 if the message string is successfully copied in its entirety to
+.Fa strsignalbuf .
+.Pp
+.Sh ERRORS
+.Fn strsignal
+will fail and no additional memory will be allocated if
+one of the following are true:
+.Bl -tag -width Er
+.It Bq Er ENOMEM
+There was insufficient memory to allocate storage space for the return value in the running thread.
+.El
+.Pp
+.Fn strsignal_r
+will return an error (but not fail) if one or more condition is met:
+.Bl -tag -width Er
+.It Bq Er ERANGE
+.Fa buflen
+is not long enough to fit the length of the message.
+.Fa strsignalbuf
+will contain the message string that has been truncated and
+NUL terminated to fit the length specified by
+.Fa buflen .
+.El
+.Bl -tag -width Er
+.It Bq Er EINVAL
+.Fa sig
+<= 0 or >= NSIG.
+.El