include <或雹linux/spinlock.h>
spinlock_t mysiglock = SPIN_LOCK_UNLOCKED
unsigned int flags
再稿雹加上这个
#include <asm/system.h>
不会吧,我是这样想的,信号属于软中断,你可以发现当线程在等待锁(不管是互斥锁还是自旋锁)时,你在终端按下ctrl+C,这时程序就停止了,说明程禅知序收到了SIGINT信号,也就是说信号在锁等待时是接收的到的,当然用sigaction函数可以设定阻塞一些信号,但默认是不阻塞的。软中断尚且能收到,硬中断我想应该更能收到吧
实际上大部分会阻塞的函数,比如read,write,select,connect等在阻塞时都能收到信号哗枯,所以中断应该也能收到,否则不合理
提醒一下,pthread中有两种锁,pthread_mutex_t 和 pthread_spinlock_t,其乱袭洞中pthread_mutex_t会阻塞,pthread_spinlock_t只是在不断自旋(轮询),不会阻塞
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)