【发布时间】:2011-10-21 15:55:50
【问题描述】:
我可以向信号处理程序提供/传递任何参数吗?
/* Signal handling */
struct sigaction act;
act.sa_handler = signal_handler;
/* some more settings */
现在,处理程序看起来像这样:
void signal_handler(int signo) {
/* some code */
}
如果我想做一些特别的事情,即删除临时文件,我可以将这些文件作为参数提供给这个处理程序吗?
编辑 0:感谢您的回答。我们通常避免/不鼓励使用全局变量。在这种情况下,如果你有一个庞大的程序,不同的地方可能会出错,你可能需要做很多清理工作。为什么要这样设计 API?
【问题讨论】:
标签: c signals signal-handling