pthread_sigmask 和sigwait的用法
一般在多线程下应用信号的环境中我们都会使信号的异步处理转变成同步的处理已达到我们预期的效果,即我们让进程把信号传递给我们希望处理该信号的处理线程中。
通常会在进程的主线程中阻塞该信号,通过pthread_sigmask来达到,这样在该进程中的所有线程即继承了主线程关于该信号的操作。然后在我们希望处理该信号的线程中调用sigwait来接收该信号。这样就达到了一个信号的同步操作。
PS:调试了下,好像这个时候注册的信号处理函数是不调用的。
pthread_sigmask函数的作用与 sigprocmask 函数颇为类似,但它处理的范围仅限于调用线程
阅读(722) | 评论(0) | 转发(0) |