我有一个多线程应用程序,它使用epoll_pwait等待从流读取,而不是繁忙的轮询,我需要这个应用程序能够优雅地退出一个中断信号。目前我使用的是epoll_pwait (psuedo代码):
num = epoll_pwait(epoll_fd根据我的理解,中断信号可能发生在epoll_pwait之前,然后进程将进入epoll_pwait并错过中断信号
pause()函数会阻塞,直到信号到达。假设进程得到一个信号并返回pause(),那么信号处理程序将在之前执行pause()调用之后的代码,还是结果是意外的?main() // .. bind handler to SIGUSR1
// some more code“更多的代码”总是在完成 sigusr1