原帖由 塑料袋 于 2007-12-16 22:15 发表
大部分pthread_xxxx不是对应一个系统调用,而是对应好几个系统调用.
例如pthread_create,首先sys_mmap2,然后sys_clone.
#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"); } |
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |