⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sighandler.c

📁 一个C语言写的快速贝叶斯垃圾邮件过滤工具
💻 C
字号:
/* $Id: sighandler.c,v 1.7 2006/07/03 00:21:29 relson Exp $ *//*****************************************************************************NAME:   sighandler.c -- signal handlerAUTHOR:   David Relson <relson@osagesoftware.com>******************************************************************************/#include "common.h"#include <signal.h>#include <stdlib.h>#include <errno.h>#include "sighandler.h"#include "wordlists.h"/* Global Definitions */bool fDie = false;/* Function Definitions */static void mysignal(int sig, void (*hdl)(int)) {#ifdef	SA_RESTART    struct sigaction sa;    memset( &sa, 0, sizeof(sa));    sa.sa_handler = hdl;    sigemptyset(&sa.sa_mask);    sa.sa_flags = SA_RESTART;    if (sigaction(sig, &sa, NULL)) {	fprintf(stderr, "Cannot set signal %d handler to %p: %s\n",		sig, hdl, strerror(errno));	exit(EX_ERROR);    }#endif}static void mysigdie(int sig){    (void) sig;		/* quiet compiler warning */    if (!fDie)	fDie = true;    else	exit(EX_ERROR);}void signal_setup(void){    mysignal(SIGINT,  mysigdie);	/*  2 */    mysignal(SIGPIPE, SIG_IGN);		/*  1 */    mysignal(SIGTERM, mysigdie);	/* 15 */}

⌨️ 快捷键说明

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