每个信号都有两个标志位分别表示阻塞(block)和未决(pending),还有一个函数指针表示处理动作
注:在block位图中,比特位的位置代表某一个信号,比特位的内容代表该信号是否被阻塞;在...类型对于每种信号用一个bit表示“有效”或“无效”状态,至于这个类型内部如何存储这些bit则依赖于系统实现,从使用者的角度是不必关心的,使用者只能调用以下函数来操作sigset_ t变量,而不应该对它的内部数据做任何解释...oset参数传出
如果set是非空指针,则更改进程的信号屏蔽字,参数how指示如何更改
如果oset和set都是非空指针,则先将原来的信号 屏蔽字备份到oset里,然后根据set和how参数更改信号屏蔽字...在中断或者系统调用处理完毕后要返回用户态的main函数之前检查到有信号SIGQUIT递达
内核决定返回用户态后执行sighandler函数,sighandler和main函数使用不同的堆栈空间,它们之间不存在调用和被调用的关系...,插入操作分为两步,刚做完第一步的时候,因为硬件中断使进程切换到内核,再次回用户态之前检查到有信号待处理,于是切换到sighandler函数,sighandler也调用insert函数向同一个链表head