1//===-- SysSignal.cpp -------------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// Created by Greg Clayton on 6/18/07.
10//
11//===----------------------------------------------------------------------===//
12
13#include "SysSignal.h"
14#include <csignal>
15#include <cstddef>
16
17const char *SysSignal::Name(int signal) {
18 switch (signal) {
19 case SIGHUP:
20 return "SIGHUP"; // 1 hangup
21 case SIGINT:
22 return "SIGINT"; // 2 interrupt
23 case SIGQUIT:
24 return "SIGQUIT"; // 3 quit
25 case SIGILL:
26 return "SIGILL"; // 4 illegal instruction (not reset when caught)
27 case SIGTRAP:
28 return "SIGTRAP"; // 5 trace trap (not reset when caught)
29 case SIGABRT:
30 return "SIGABRT"; // 6 abort()
31#if defined(_POSIX_C_SOURCE)
32 case SIGPOLL:
33 return "SIGPOLL"; // 7 pollable event ([XSR] generated, not supported)
34#else // !_POSIX_C_SOURCE
35 case SIGEMT:
36 return "SIGEMT"; // 7 EMT instruction
37#endif // !_POSIX_C_SOURCE
38 case SIGFPE:
39 return "SIGFPE"; // 8 floating point exception
40 case SIGKILL:
41 return "SIGKILL"; // 9 kill (cannot be caught or ignored)
42 case SIGBUS:
43 return "SIGBUS"; // 10 bus error
44 case SIGSEGV:
45 return "SIGSEGV"; // 11 segmentation violation
46 case SIGSYS:
47 return "SIGSYS"; // 12 bad argument to system call
48 case SIGPIPE:
49 return "SIGPIPE"; // 13 write on a pipe with no one to read it
50 case SIGALRM:
51 return "SIGALRM"; // 14 alarm clock
52 case SIGTERM:
53 return "SIGTERM"; // 15 software termination signal from kill
54 case SIGURG:
55 return "SIGURG"; // 16 urgent condition on IO channel
56 case SIGSTOP:
57 return "SIGSTOP"; // 17 sendable stop signal not from tty
58 case SIGTSTP:
59 return "SIGTSTP"; // 18 stop signal from tty
60 case SIGCONT:
61 return "SIGCONT"; // 19 continue a stopped process
62 case SIGCHLD:
63 return "SIGCHLD"; // 20 to parent on child stop or exit
64 case SIGTTIN:
65 return "SIGTTIN"; // 21 to readers pgrp upon background tty read
66 case SIGTTOU:
67 return "SIGTTOU"; // 22 like TTIN for output if (tp->t_local&LTOSTOP)
68#if !defined(_POSIX_C_SOURCE)
69 case SIGIO:
70 return "SIGIO"; // 23 input/output possible signal
71#endif
72 case SIGXCPU:
73 return "SIGXCPU"; // 24 exceeded CPU time limit
74 case SIGXFSZ:
75 return "SIGXFSZ"; // 25 exceeded file size limit
76 case SIGVTALRM:
77 return "SIGVTALRM"; // 26 virtual time alarm
78 case SIGPROF:
79 return "SIGPROF"; // 27 profiling time alarm
80#if !defined(_POSIX_C_SOURCE)
81 case SIGWINCH:
82 return "SIGWINCH"; // 28 window size changes
83 case SIGINFO:
84 return "SIGINFO"; // 29 information request
85#endif
86 case SIGUSR1:
87 return "SIGUSR1"; // 30 user defined signal 1
88 case SIGUSR2:
89 return "SIGUSR2"; // 31 user defined signal 2
90 default:
91 break;
92 }
93 return NULL;
94}
95

source code of lldb/tools/debugserver/source/SysSignal.cpp