forked from OSchip/llvm-project
96 lines
3.0 KiB
C++
96 lines
3.0 KiB
C++
//===-- SysSignal.cpp -------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// Created by Greg Clayton on 6/18/07.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "SysSignal.h"
|
|
#include <signal.h>
|
|
#include <stddef.h>
|
|
|
|
const char *SysSignal::Name(int signal) {
|
|
switch (signal) {
|
|
case SIGHUP:
|
|
return "SIGHUP"; // 1 hangup
|
|
case SIGINT:
|
|
return "SIGINT"; // 2 interrupt
|
|
case SIGQUIT:
|
|
return "SIGQUIT"; // 3 quit
|
|
case SIGILL:
|
|
return "SIGILL"; // 4 illegal instruction (not reset when caught)
|
|
case SIGTRAP:
|
|
return "SIGTRAP"; // 5 trace trap (not reset when caught)
|
|
case SIGABRT:
|
|
return "SIGABRT"; // 6 abort()
|
|
#if defined(_POSIX_C_SOURCE)
|
|
case SIGPOLL:
|
|
return "SIGPOLL"; // 7 pollable event ([XSR] generated, not supported)
|
|
#else // !_POSIX_C_SOURCE
|
|
case SIGEMT:
|
|
return "SIGEMT"; // 7 EMT instruction
|
|
#endif // !_POSIX_C_SOURCE
|
|
case SIGFPE:
|
|
return "SIGFPE"; // 8 floating point exception
|
|
case SIGKILL:
|
|
return "SIGKILL"; // 9 kill (cannot be caught or ignored)
|
|
case SIGBUS:
|
|
return "SIGBUS"; // 10 bus error
|
|
case SIGSEGV:
|
|
return "SIGSEGV"; // 11 segmentation violation
|
|
case SIGSYS:
|
|
return "SIGSYS"; // 12 bad argument to system call
|
|
case SIGPIPE:
|
|
return "SIGPIPE"; // 13 write on a pipe with no one to read it
|
|
case SIGALRM:
|
|
return "SIGALRM"; // 14 alarm clock
|
|
case SIGTERM:
|
|
return "SIGTERM"; // 15 software termination signal from kill
|
|
case SIGURG:
|
|
return "SIGURG"; // 16 urgent condition on IO channel
|
|
case SIGSTOP:
|
|
return "SIGSTOP"; // 17 sendable stop signal not from tty
|
|
case SIGTSTP:
|
|
return "SIGTSTP"; // 18 stop signal from tty
|
|
case SIGCONT:
|
|
return "SIGCONT"; // 19 continue a stopped process
|
|
case SIGCHLD:
|
|
return "SIGCHLD"; // 20 to parent on child stop or exit
|
|
case SIGTTIN:
|
|
return "SIGTTIN"; // 21 to readers pgrp upon background tty read
|
|
case SIGTTOU:
|
|
return "SIGTTOU"; // 22 like TTIN for output if (tp->t_local<OSTOP)
|
|
#if !defined(_POSIX_C_SOURCE)
|
|
case SIGIO:
|
|
return "SIGIO"; // 23 input/output possible signal
|
|
#endif
|
|
case SIGXCPU:
|
|
return "SIGXCPU"; // 24 exceeded CPU time limit
|
|
case SIGXFSZ:
|
|
return "SIGXFSZ"; // 25 exceeded file size limit
|
|
case SIGVTALRM:
|
|
return "SIGVTALRM"; // 26 virtual time alarm
|
|
case SIGPROF:
|
|
return "SIGPROF"; // 27 profiling time alarm
|
|
#if !defined(_POSIX_C_SOURCE)
|
|
case SIGWINCH:
|
|
return "SIGWINCH"; // 28 window size changes
|
|
case SIGINFO:
|
|
return "SIGINFO"; // 29 information request
|
|
#endif
|
|
case SIGUSR1:
|
|
return "SIGUSR1"; // 30 user defined signal 1
|
|
case SIGUSR2:
|
|
return "SIGUSR2"; // 31 user defined signal 2
|
|
default:
|
|
break;
|
|
}
|
|
return NULL;
|
|
}
|