- 论坛徽章:
- 0
|
刚才用下面这个程序测试了一下,阻塞在mutex lock时 收到SIGUSR1 程序继续阻塞在那儿
#include <stdio.h>
#include <pthread.h>
#include <signal.h>
pthread_mutex_t test_mutex = PTHREAD_MUTEX_INITIALIZER;
void test(int signo);
int main(int argc,char *argv[])
{
struct sigaction sigact;
sigact.sa_handler = test;
sigemptyset(&sigact.sa_mask);
sigact.sa_flags = 0;
sigaction(SIGUSR1, &sigact, NULL);
printf("1 %d\n", pthread_mutex_lock(&test_mutex));
printf("2 %d\n", pthread_mutex_lock(&test_mutex));
return 0;
}
void test(int signo)
{
printf("signal\n");
}
|
|
|