PostgreSQL Source Code
git master
pgstrsignal.c
Go to the documentation of this file.
1
/*-------------------------------------------------------------------------
2
*
3
* pgstrsignal.c
4
* Identify a Unix signal number
5
*
6
* On platforms compliant with modern POSIX, this just wraps strsignal(3).
7
* Elsewhere, we do the best we can.
8
*
9
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
10
* Portions Copyright (c) 1994, Regents of the University of California
11
*
12
* IDENTIFICATION
13
* src/port/pgstrsignal.c
14
*
15
*-------------------------------------------------------------------------
16
*/
17
18
#include "
c.h
"
19
20
21
/*
22
* pg_strsignal
23
*
24
* Return a string identifying the given Unix signal number.
25
*
26
* The result is declared "const char *" because callers should not
27
* modify the string. Note, however, that POSIX does not promise that
28
* the string will remain valid across later calls to strsignal().
29
*
30
* This version guarantees to return a non-NULL pointer, although
31
* some platforms' versions of strsignal() reputedly do not.
32
*
33
* Note that the fallback cases just return constant strings such as
34
* "unrecognized signal". Project style is for callers to print the
35
* numeric signal value along with the result of this function, so
36
* there's no need to work harder than that.
37
*/
38
const
char
*
39
pg_strsignal
(
int
signum)
40
{
41
const
char
*result;
42
43
/*
44
* If we have strsignal(3), use that --- but check its result for NULL.
45
*/
46
#ifdef HAVE_STRSIGNAL
47
result = strsignal(signum);
48
if
(result == NULL)
49
result =
"unrecognized signal"
;
50
#else
51
52
/*
53
* We used to have code here to try to use sys_siglist[] if available.
54
* However, it seems that all platforms with sys_siglist[] have also had
55
* strsignal() for many years now, so that was just a waste of code.
56
*/
57
result =
"(signal names not available on this platform)"
;
58
#endif
59
60
return
result;
61
}
c.h
pg_strsignal
const char * pg_strsignal(int signum)
Definition:
pgstrsignal.c:39
src
port
pgstrsignal.c
Generated on Wed Oct 9 2024 18:13:28 for PostgreSQL Source Code by
1.9.1