|
2328 static inline int signal_pending_state(long state, struct task_struct *p)
2329 {
2330 if (!(state & (TASK_INTERRUPTIBLE | TASK_WAKEKILL)))
2331 return 0;
2332 if (!signal_pending(p))
2333 return 0;
2334
2335 return (state & TASK_INTERRUPTIBLE) || __fatal_signal_pending(p);
2336 }
这个函数啥意思啊?
第一句:如果进程状态不是TASK_INTERRUPTIBLE,也不是TASK_WAKEKILL,则返回0.
第二句:如果没有信号等待处理则返回0.
第三句:如果进程状态为TASK_INTERRUPTIBLE或有重要信号需要处理则返回1.
这个函数想判断什么事情?我感觉第三句应该是&&而不是||。 |
|