180814287SRaphael Isemann //===-- LinuxSignals.cpp --------------------------------------------------===// 2af245d11STodd Fiala // 32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6af245d11STodd Fiala // 7af245d11STodd Fiala //===----------------------------------------------------------------------===// 8af245d11STodd Fiala 9af245d11STodd Fiala #include "LinuxSignals.h" 10af245d11STodd Fiala 1198d0a4b3SChaoren Lin using namespace lldb_private; 12af245d11STodd Fiala 13b9c1b51eSKate Stone LinuxSignals::LinuxSignals() : UnixSignals() { Reset(); } 14af245d11STodd Fiala 15b9c1b51eSKate Stone void LinuxSignals::Reset() { 16af245d11STodd Fiala m_signals.clear(); 1779be9e8cSMohit K. Bhakkad // SIGNO NAME SUPPRESS STOP NOTIFY DESCRIPTION ALIAS 18b9c1b51eSKate Stone // ===== =========== ======== ===== ====== 19b9c1b51eSKate Stone // ====================================== ====== 2079be9e8cSMohit K. Bhakkad AddSignal(1, "SIGHUP", false, true, true, "hangup"); 2179be9e8cSMohit K. Bhakkad AddSignal(2, "SIGINT", true, true, true, "interrupt"); 2279be9e8cSMohit K. Bhakkad AddSignal(3, "SIGQUIT", false, true, true, "quit"); 2379be9e8cSMohit K. Bhakkad AddSignal(4, "SIGILL", false, true, true, "illegal instruction"); 24b9c1b51eSKate Stone AddSignal(5, "SIGTRAP", true, true, true, 25b9c1b51eSKate Stone "trace trap (not reset when caught)"); 2679be9e8cSMohit K. Bhakkad AddSignal(6, "SIGABRT", false, true, true, "abort()/IOT trap", "SIGIOT"); 2779be9e8cSMohit K. Bhakkad AddSignal(7, "SIGBUS", false, true, true, "bus error"); 2879be9e8cSMohit K. Bhakkad AddSignal(8, "SIGFPE", false, true, true, "floating point exception"); 2979be9e8cSMohit K. Bhakkad AddSignal(9, "SIGKILL", false, true, true, "kill"); 3079be9e8cSMohit K. Bhakkad AddSignal(10, "SIGUSR1", false, true, true, "user defined signal 1"); 3179be9e8cSMohit K. Bhakkad AddSignal(11, "SIGSEGV", false, true, true, "segmentation violation"); 3279be9e8cSMohit K. Bhakkad AddSignal(12, "SIGUSR2", false, true, true, "user defined signal 2"); 33b9c1b51eSKate Stone AddSignal(13, "SIGPIPE", false, true, true, 34b9c1b51eSKate Stone "write to pipe with reading end closed"); 3579be9e8cSMohit K. Bhakkad AddSignal(14, "SIGALRM", false, false, false, "alarm"); 3679be9e8cSMohit K. Bhakkad AddSignal(15, "SIGTERM", false, true, true, "termination requested"); 3779be9e8cSMohit K. Bhakkad AddSignal(16, "SIGSTKFLT", false, true, true, "stack fault"); 38b9c1b51eSKate Stone AddSignal(17, "SIGCHLD", false, false, true, "child status has changed", 39b9c1b51eSKate Stone "SIGCLD"); 40*a68ffb19SJim Ingham AddSignal(18, "SIGCONT", false, false, true, "process continue"); 4179be9e8cSMohit K. Bhakkad AddSignal(19, "SIGSTOP", true, true, true, "process stop"); 4279be9e8cSMohit K. Bhakkad AddSignal(20, "SIGTSTP", false, true, true, "tty stop"); 4379be9e8cSMohit K. Bhakkad AddSignal(21, "SIGTTIN", false, true, true, "background tty read"); 4479be9e8cSMohit K. Bhakkad AddSignal(22, "SIGTTOU", false, true, true, "background tty write"); 4579be9e8cSMohit K. Bhakkad AddSignal(23, "SIGURG", false, true, true, "urgent data on socket"); 4679be9e8cSMohit K. Bhakkad AddSignal(24, "SIGXCPU", false, true, true, "CPU resource exceeded"); 4779be9e8cSMohit K. Bhakkad AddSignal(25, "SIGXFSZ", false, true, true, "file size limit exceeded"); 4879be9e8cSMohit K. Bhakkad AddSignal(26, "SIGVTALRM", false, true, true, "virtual time alarm"); 4979be9e8cSMohit K. Bhakkad AddSignal(27, "SIGPROF", false, false, false, "profiling time alarm"); 5079be9e8cSMohit K. Bhakkad AddSignal(28, "SIGWINCH", false, true, true, "window size changes"); 51b9c1b51eSKate Stone AddSignal(29, "SIGIO", false, true, true, "input/output ready/Pollable event", 52b9c1b51eSKate Stone "SIGPOLL"); 5379be9e8cSMohit K. Bhakkad AddSignal(30, "SIGPWR", false, true, true, "power failure"); 5479be9e8cSMohit K. Bhakkad AddSignal(31, "SIGSYS", false, true, true, "invalid system call"); 55b9c1b51eSKate Stone AddSignal(32, "SIG32", false, false, false, 56b9c1b51eSKate Stone "threading library internal signal 1"); 57b9c1b51eSKate Stone AddSignal(33, "SIG33", false, false, false, 58b9c1b51eSKate Stone "threading library internal signal 2"); 5979be9e8cSMohit K. Bhakkad AddSignal(34, "SIGRTMIN", false, false, false, "real time signal 0"); 6079be9e8cSMohit K. Bhakkad AddSignal(35, "SIGRTMIN+1", false, false, false, "real time signal 1"); 6179be9e8cSMohit K. Bhakkad AddSignal(36, "SIGRTMIN+2", false, false, false, "real time signal 2"); 6279be9e8cSMohit K. Bhakkad AddSignal(37, "SIGRTMIN+3", false, false, false, "real time signal 3"); 6379be9e8cSMohit K. Bhakkad AddSignal(38, "SIGRTMIN+4", false, false, false, "real time signal 4"); 6479be9e8cSMohit K. Bhakkad AddSignal(39, "SIGRTMIN+5", false, false, false, "real time signal 5"); 6579be9e8cSMohit K. Bhakkad AddSignal(40, "SIGRTMIN+6", false, false, false, "real time signal 6"); 6679be9e8cSMohit K. Bhakkad AddSignal(41, "SIGRTMIN+7", false, false, false, "real time signal 7"); 6779be9e8cSMohit K. Bhakkad AddSignal(42, "SIGRTMIN+8", false, false, false, "real time signal 8"); 6879be9e8cSMohit K. Bhakkad AddSignal(43, "SIGRTMIN+9", false, false, false, "real time signal 9"); 6979be9e8cSMohit K. Bhakkad AddSignal(44, "SIGRTMIN+10", false, false, false, "real time signal 10"); 7079be9e8cSMohit K. Bhakkad AddSignal(45, "SIGRTMIN+11", false, false, false, "real time signal 11"); 7179be9e8cSMohit K. Bhakkad AddSignal(46, "SIGRTMIN+12", false, false, false, "real time signal 12"); 7279be9e8cSMohit K. Bhakkad AddSignal(47, "SIGRTMIN+13", false, false, false, "real time signal 13"); 7379be9e8cSMohit K. Bhakkad AddSignal(48, "SIGRTMIN+14", false, false, false, "real time signal 14"); 7479be9e8cSMohit K. Bhakkad AddSignal(49, "SIGRTMIN+15", false, false, false, "real time signal 15"); 75b9c1b51eSKate Stone AddSignal(50, "SIGRTMAX-14", false, false, false, 76b9c1b51eSKate Stone "real time signal 16"); // switching to SIGRTMAX-xxx to match "kill 77b9c1b51eSKate Stone // -l" output 7879be9e8cSMohit K. Bhakkad AddSignal(51, "SIGRTMAX-13", false, false, false, "real time signal 17"); 7979be9e8cSMohit K. Bhakkad AddSignal(52, "SIGRTMAX-12", false, false, false, "real time signal 18"); 8079be9e8cSMohit K. Bhakkad AddSignal(53, "SIGRTMAX-11", false, false, false, "real time signal 19"); 8179be9e8cSMohit K. Bhakkad AddSignal(54, "SIGRTMAX-10", false, false, false, "real time signal 20"); 8279be9e8cSMohit K. Bhakkad AddSignal(55, "SIGRTMAX-9", false, false, false, "real time signal 21"); 8379be9e8cSMohit K. Bhakkad AddSignal(56, "SIGRTMAX-8", false, false, false, "real time signal 22"); 8479be9e8cSMohit K. Bhakkad AddSignal(57, "SIGRTMAX-7", false, false, false, "real time signal 23"); 8579be9e8cSMohit K. Bhakkad AddSignal(58, "SIGRTMAX-6", false, false, false, "real time signal 24"); 8679be9e8cSMohit K. Bhakkad AddSignal(59, "SIGRTMAX-5", false, false, false, "real time signal 25"); 8779be9e8cSMohit K. Bhakkad AddSignal(60, "SIGRTMAX-4", false, false, false, "real time signal 26"); 8879be9e8cSMohit K. Bhakkad AddSignal(61, "SIGRTMAX-3", false, false, false, "real time signal 27"); 8979be9e8cSMohit K. Bhakkad AddSignal(62, "SIGRTMAX-2", false, false, false, "real time signal 28"); 9079be9e8cSMohit K. Bhakkad AddSignal(63, "SIGRTMAX-1", false, false, false, "real time signal 29"); 9179be9e8cSMohit K. Bhakkad AddSignal(64, "SIGRTMAX", false, false, false, "real time signal 30"); 92af245d11STodd Fiala } 93