WSSetSignalHandler (C 函数)

int WSSetSignalHandler(WSENV env,int s,void *sa)

为 WSTP 库信号处理机制中的信号 s 安装对象 sa 详细描述的 Unix 信号处理程序.

更多信息

  • WSSetSignalHandler() 在微软的 Windows 上不做任何事情.
  • sa 是一个指向 Unix sigaction struct 的指针. 关于 sigaction 结构的详情参见大多数 Unix 和 Unix 类似系统的标头文件 signal.h.
  • WSSetSignalHandler() 如果没有错误返回 WSEOK,否则返回 wstp.h 中列出的其他错误代码之一.
  • WSTP 的标头文件 wstp.h 已对 WSSetSignalHandler() 作出声明.

范例

基本范例  (1)

#include <signal.h>
#include "wstp.h"

void app_signal_handler(int signum)
{
    /* ... */
}

/* set a signal handler in the WSTP environment */

void f(WSENV ep)
{
    struct sigaction sa;
    int err;

    sa.sa_handler = (void (*)(int))app_signal_handler;
    sigemptyset(&sa.sa_mask);
    sa.sa_flags = 0;


    /* install app_signal_handler for SIGHUP */
    err = WSSetSignalHandler(ep, SIGHUP, (void *)&sa);
    if(err != WSEOK)
        { /* unable to set the signal handler in ep */ }
}