sigimp.c
来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· C语言 代码 · 共 126 行
C
126 行
#include <unistd.h>#include <signal.h>#include <errno.h>#include <sys/wcebase.h>#include <sys/wcetrace.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;}#if 0int sigaddset(sigset_t *mask, int sig){ *mask |= (1 << sig); return 0;}int sigemptyset(sigset_t *mask){ *mask = 0; return 0;}#endifint sigsuspend(const sigset_t *sigmask){ return 0;}int_kill_r(struct _reent *reent, pid_t pid, int sig){ HANDLE hnd; int retval, winerr; if (sig == SIGKILL) { hnd = OpenProcess(0, FALSE, (unsigned int)pid); if (hnd == NULL) { errno = _winerr2errno(GetLastError()); return(-1); } TerminateProcess(hnd, 0); return(0); } errno = ENOTSUP; return(-1);} #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 + -
显示快捷键?