diff options
Diffstat (limited to 'winsup/cygwin/strsig.cc')
-rw-r--r-- | winsup/cygwin/strsig.cc | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/winsup/cygwin/strsig.cc b/winsup/cygwin/strsig.cc deleted file mode 100644 index 8afa8db7a..000000000 --- a/winsup/cygwin/strsig.cc +++ /dev/null @@ -1,145 +0,0 @@ -/* strsig.cc - - Copyright 2004, 2007, 2008, 2010, 2011 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -#include "winsup.h" -#include <cygtls.h> -#include <stdio.h> -#include <string.h> - -struct sigdesc -{ - int n; - const char *name; - const char *str; -}; - -#define __signals \ - _s(SIGHUP, "Hangup"), /* 1 */ \ - _s(SIGINT, "Interrupt"), /* 2 */ \ - _s(SIGQUIT, "Quit"), /* 3 */ \ - _s(SIGILL, "Illegal instruction"), /* 4 */ \ - _s(SIGTRAP, "Trace/breakpoint trap"), /* 5 */ \ - _s(SIGABRT, "Aborted"), /* 6 */ \ - _s(SIGEMT, "EMT instruction"), /* 7 */ \ - _s(SIGFPE, "Floating point exception"), /* 8 */ \ - _s(SIGKILL, "Killed"), /* 9 */ \ - _s(SIGBUS, "Bus error"), /* 10 */ \ - _s(SIGSEGV, "Segmentation fault"), /* 11 */ \ - _s(SIGSYS, "Bad system call"), /* 12 */ \ - _s(SIGPIPE, "Broken pipe"), /* 13 */ \ - _s(SIGALRM, "Alarm clock"), /* 14 */ \ - _s(SIGTERM, "Terminated"), /* 15 */ \ - _s(SIGURG, "Urgent I/O condition"), /* 16 */ \ - _s(SIGSTOP, "Stopped (signal)"), /* 17 */ \ - _s(SIGTSTP, "Stopped"), /* 18 */ \ - _s(SIGCONT, "Continued"), /* 19 */ \ - _s2(SIGCHLD, "Child exited", /* 20 */ \ - SIGCLD, "Child exited"), \ - _s(SIGTTIN, "Stopped (tty input)"), /* 21 */ \ - _s(SIGTTOU, "Stopped (tty output)"), /* 22 */ \ - _s2(SIGIO, "I/O possible", /* 23 */ \ - SIGPOLL, "I/O possible"), \ - _s(SIGXCPU, "CPU time limit exceeded"), /* 24 */ \ - _s(SIGXFSZ, "File size limit exceeded"), /* 25 */ \ - _s(SIGVTALRM, "Virtual timer expired"), /* 26 */ \ - _s(SIGPROF, "Profiling timer expired"), /* 27 */ \ - _s(SIGWINCH, "Window changed"), /* 28 */ \ - _s2(SIGPWR, "Power failure", /* 29 */ \ - SIGLOST, "Resource lost"), \ - _s(SIGUSR1, "User defined signal 1"), /* 30 */ \ - _s(SIGUSR2, "User defined signal 2"), /* 31 */ \ - _s2(SIGRTMIN, "Real-time signal 0", /* 32 */ \ - SIGRTMAX, "Real-time signal 0") - -#define _s(n, s) #n -#define _s2(n, s, n1, s1) #n -const char *sys_sigabbrev[] NO_COPY_INIT = -{ - NULL, - __signals -}; - -#undef _s -#undef _s2 -#define _s(n, s) s -#define _s2(n, s, n1, s1) s -const char *sys_siglist[] NO_COPY_INIT = -{ - NULL, - __signals -}; - -#undef _s -#undef _s2 -#define _s(n, s) {n, #n, s} -#define _s2(n, s, n1, s1) {n, #n, s}, {n, #n1, #s1} -static const sigdesc siglist[] = -{ - __signals, - {0, NULL, NULL} -}; - -extern "C" char * -strsignal (int signo) -{ - const char *sigstring = "Unknown signal %d"; - for (int i = 0; siglist[i].n; i++) - if (siglist[i].n == signo) - { - sigstring = siglist[i].str; - break; - } - __small_sprintf (_my_tls.locals.signamebuf, sigstring, signo); - return _my_tls.locals.signamebuf; -} - -extern "C" int -strtosigno (const char *name) -{ - for (int i = 0; siglist[i].n; i++) - if (strcmp (siglist[i].name, name) == 0) - return siglist[i].n; - return 0; -} - -extern "C" void -psiginfo (const siginfo_t *info, const char *s) -{ - if (s != NULL && *s != '\0') - fprintf (stderr, "%s: ", s); - - fprintf (stderr, "%s", strsignal (info->si_signo)); - - if (info->si_signo > 0 && info->si_signo < NSIG) - { - switch (info->si_signo) - { - case SIGILL: - case SIGBUS: - case SIGFPE: - case SIGSEGV: - fprintf (stderr, " (%d [%p])", info->si_code, info->si_addr); - break; - case SIGCHLD: - fprintf (stderr, " (%d %d %d %ld)", info->si_code, info->si_pid, - info->si_status, info->si_uid); - break; -/* FIXME: implement si_band - case SIGPOLL: - fprintf (stderr, " (%d %ld)", info->si_code, info->si_band); - break; -*/ - default: - fprintf (stderr, " (%d %d %ld)", info->si_code, info->si_pid, info->si_uid); - } - } - - fprintf (stderr, "\n"); -} |