Advertisement

线程与信号 -- pThread::sigMask() signify().

阅读量:

一、主线程向子线程1发出USR1信号,子线程1内部设置了信号处理机制,而子线程2未进行信号捕捉操作,因此在接收到信号后立即终止运行。

复制代码
 #include <stdio.h>

    
 #include <pthread.h>
    
 #include <stdlib.h>
    
 #include <unistd.h>
    
 #include <signal.h>
    
 #include <errno.h>
    
  
    
 #define handle_error_en(en, msg) \
    
     do {errno = en; perror(msg); exit(EXIT_FAILURE); }while(0)
    
  
    
  
    
 static void *sig_thread1(void *arg)
    
 {
    
     sigset_t *set = (sigset_t *)arg;
    
     int ret, sig;
    
  
    
     sigaddset(set, SIGUSR1);
    
     pthread_sigmask(SIG_SETMASK, set, NULL);
    
     for (;;)
    
     {

全部评论 (0)

还没有任何评论哟~