使用printf作为重入函数C.

Dan*_*ira 5 c printf signals

我正在处理多个进程和信号,我昨天刚刚发现printf不是一个可重入的函数,因此将信号处理程序与信号处理程序一起使用存在风险.我能做些什么吗?是否有任何可重入的printf或任何可重入的系统调用可以取代printf?

谢谢!

Bod*_*sen 5

信号处理程序通常非常棘手。非常棘手,通常在其中执行的唯一安全操作是设置一个标志“信号已收到”,然后让程序的主循环(或在多线程应用程序中的特殊信号处理线程)执行实际信号处理。