setsig.c

来自「gcc-2.95.3 Linux下最常用的C编译器」· C语言 代码 · 共 102 行

C
102
字号
/* Set up the signal behavior.  */#include <stdio.h>#include "signal1.h"#ifndef SIGIOT#ifdef SIGABRT#define SIGIOT SIGABRT#endif#endif#ifndef KR_headers#undef VOID#include <stdlib.h>#endif#ifndef VOID#define VOID void#endif#ifdef __cplusplusextern "C" {#endif#ifdef KR_headersextern VOID sig_die();#define Int /* int */#elseextern void sig_die(char*, int);#define Int int#endifstatic VOID sigfdie(Sigarg){Use_Sigarg;sig_die("Floating Exception", 1);}static VOID sigidie(Sigarg){Use_Sigarg;sig_die("IOT Trap", 1);}#ifdef SIGQUITstatic VOID sigqdie(Sigarg){Use_Sigarg;sig_die("Quit signal", 1);}#endifstatic VOID sigindie(Sigarg){Use_Sigarg;sig_die("Interrupt", 0);}static VOID sigtdie(Sigarg){Use_Sigarg;sig_die("Killed", 0);}#ifdef SIGTRAPstatic VOID sigtrdie(Sigarg){Use_Sigarg;sig_die("Trace trap", 1);}#endif#ifdef __cplusplus	}#endif voidf_setsig(){signal1(SIGFPE, sigfdie);	/* ignore underflow, enable overflow */#ifdef SIGIOTsignal1(SIGIOT, sigidie);#endif#ifdef SIGTRAPsignal1(SIGTRAP, sigtrdie);#endif#ifdef SIGQUITif(signal1(SIGQUIT,sigqdie) == SIG_IGN)	signal1(SIGQUIT, SIG_IGN);#endifif(signal1(SIGINT, sigindie) == SIG_IGN)	signal1(SIGINT, SIG_IGN);signal1(SIGTERM,sigtdie);#ifdef pdp11	ldfps(01200); /* detect overflow as an exception */#endif}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?