MLSetSignalHandler (C 函数)
MLSetSignalHandler 已经被 WSSetSignalHandler 所取代.
int MLSetSignalHandler(MLENV env,int s,void *sa)
为 MathLink 库信号处理机制中的信号 s 安装对象 sa 详细描述的 Unix 信号处理程序.
更多信息
- MLSetSignalHandler() 在微软的 Windows 上不做任何事情.
- sa 是一个指向 Unix sigaction struct 的指针. 关于 sigaction 结构的详情参见大多数 Unix 和 Unix 类似系统的标头文件 signal.h.
- MLSetSignalHandler() 如果没有错误返回 WLEOK,否则返回 mathlink.h 中列出的其他错误代码之一.
- MLSetSignalHandler() 在 MathLink 的标头文件 mathlink.h 中被声明.
范例
基本范例 (1)
#include <signal.h>
#include "mathlink.h"
void app_signal_handler(int signum)
{
/* ... */
}
/* set a signal handler in the MathLink environment */
void f(MLENV 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 = MLSetSignalHandler(ep, SIGHUP, (void *)&sa);
if(err != MLEOK)
{ /* unable to set the signal handler in ep */ }
}