osg*_*sgx 2 linux signals glibc handler
我可以fprintf(stderr)在glibc/linux的信号(SIGALRM)处理程序中使用吗?
fprintf(stderr)
Fab*_*ian 6
你不能.检查联机帮助 信号(7)以获取异步信号安全功能列表.fprintf不包括在该列表中.
fprintf
如果您不需要格式化,则可以使用write(STDERR_FILENO, <buf>, <buflen>)写入stderr.
write(STDERR_FILENO, <buf>, <buflen>)
ism*_*ail 5
这不安全,引用 IBM DeveloperWorks 文章 Signal Handling Safety
Signal Handling Safety
假设信号处理程序使用 fprintf 打印一条消息,并且程序在传递信号时使用相同的流进行 fprintf 调用。信号处理程序的消息和程序的数据都可能被破坏,因为这两个调用都对相同的数据结构进行操作:流本身。
归档时间:
15 年,9 月 前
查看次数:
3785 次
最近记录:
14 年,10 月 前