spin_lock_irqsave(¤t->sigmask_lock, flags);
oldset = current->blocked;
sigfillset(¤t->blocked);
recalc_sigpending(current); // 重新计算current->sigpending
spin_unlock_irqrestore(¤t->sigmask_lock, flags);
/*
屏蔽信号的部分
*/
spin_lock_irqsave(¤t->sigmask_lock, flags);
current->blocked = oldset;
recalc_sigpending(current);
spin_unlock_irqrestore(¤t->sigmask_lock, flags);
oldset = current->blocked;
sigfillset(¤t->blocked);
recalc_sigpending(current); // 重新计算current->sigpending
spin_unlock_irqrestore(¤t->sigmask_lock, flags);
/*
屏蔽信号的部分
*/
spin_lock_irqsave(¤t->sigmask_lock, flags);
current->blocked = oldset;
recalc_sigpending(current);
spin_unlock_irqrestore(¤t->sigmask_lock, flags);