signal.c

来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· C语言 代码 · 共 99 行

C
99
字号
#include <unistd.h>#include <signal.h>#if 0SIGHANDLER _sighandlers[NSIG];SIGHANDLERxcesignal(int sig, SIGHANDLER new){  SIGHANDLER old;  XCETRACE2(XCE_TRACE_SIGNALS, ("signal(%d, %x)", sig, new));  if(sig < 0 || sig >= NSIG)    return SIG_ERR;  old = _sighandlers[sig];  _sighandlers[sig] = new;  return old;}intxceraise(int sig){  XCETrace("raise(%d)", sig);  if(_sighandlers[sig] == SIG_IGN)    {      XCETrace("signal ignored");    }  else if(_sighandlers[sig] == SIG_DFL)    {      XCETrace("calling default handler");      if(sig == SIGINT)	exit(-1);    }  else    {      XCETrace("calling signal handler");      (_sighandlers[sig])(sig);      XCETrace("calling signal handler ok");    }  return 0;}#endifint sigaction(int sig, struct sigaction *act,	  struct sigaction *oldact){  return 0;}int sigprocmask(int how, const sigset_t *set,	    sigset_t *oldset){  return 0;}int sigaddset(sigset_t *mask, int sig){  *mask |= (1 << sig);  return 0;}int sigemptyset(sigset_t *mask){  *mask = 0;  return 0;}int sigsuspend(const sigset_t *sigmask){  return 0;}#if 0int xcekill(pid_t pid, int sig){  if(pid == xcegetpid())    {      xceraise(sig);    }  errno = EINVAL;  return -1;}#endif

⌨️ 快捷键说明

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