lik*_*eIT 4 c linux linux-kernel
我对Linux内核中的以下开关有一些疑问,有人可以解释一下case,为什么我需要这个案例,如果它是空的?提前致谢
switch (prev->state) {
case TASK_INTERRUPTIBLE:
if (unlikely(signal_pending(prev))) {
prev->state = TASK_RUNNING;
break;
}
default:
deactivate_task(prev, rq);
case TASK_RUNNING:
;
}
Run Code Online (Sandbox Code Playgroud)
我从linux 2.4.18中获取它,我目前正在学习,没有评论,为什么这样
如果prev->state == TASK_RUNNING你没有最后一个案例,那么deactivate_task将被调用,这可能是不希望的.这只是一种快速的方式,可以TASK_INTERRUPTIBLE为每个其他州做一些特别的事情和不同的事情TASK_RUNNING.