From 09f57c8dffd9a8ba0983cce13381aef716f43801 Mon Sep 17 00:00:00 2001 From: chatty Date: Tue, 28 Nov 2000 14:19:34 +0000 Subject: *** empty log message *** --- utils/testsignal.cc | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 utils/testsignal.cc (limited to 'utils/testsignal.cc') diff --git a/utils/testsignal.cc b/utils/testsignal.cc new file mode 100644 index 0000000..4971b51 --- /dev/null +++ b/utils/testsignal.cc @@ -0,0 +1,74 @@ +#include +#include +#include "Signal.h" + +extern "C" { + int write (int, const void*, unsigned int); + int strlen (const char*); +} + +const char* signal_strings [32] = { + "SIGHUP\n", + "SIGINT\n", + "SIGQUIT\n", + "SIGILL\n", + "SIGTRAP\n", + "SIGABRT\n", + "SIGEMT\n", + "SIGFPE\n", + "SIGKILL\n", + "SIGBUS\n", + "SIGSEGV\n", + "SIGSYS\n", + "SIGPIPE\n", + "SIGALRM\n", + "SIGTERM\n", + "SIGUSR1\n", + "SIGUSR2\n", + "SIGCHLD\n", + "SIGPWR\n", + "SIGVTALRM\n", + "SIGPROF\n", + "SIGIO\n", + "SIGWINDOW\n", + "SIGSTOP\n", + "SIGTSTP\n", + "SIGCONT\n", + "SIGTTIN\n", + "SIGTTOU\n", + "SIGURG\n", + "SIGLOST\n", + "SIGRESERVE\n", + "SIGDIL\n" +}; + +void +outputsig (int sig) +{ + write (1, signal_strings [sig-1], strlen (signal_strings [sig-1])); +} + +void +ignoresig (int) +{ +} + +main () +{ + { + printf ("block signal 2\n"); + CcuSignalBlocker b (2); + getchar (); + } + printf ("print signals 1 and 2\n"); + CcuSignalHandler s1 (1, outputsig); + CcuSignalHandler s3 (2, outputsig); + getchar (); + { + printf ("ignore signal 1\n"); + CcuSignalHandler s2 (1, ignoresig); + getchar (); + } + printf ("print again signal 1\n"); + while (1); +} -- cgit v1.1