set_current_state() use in loops confusion
Nicholas Mc Guire
der.herr at hofr.at
Sun Jun 7 12:37:48 EDT 2015
Hi !
Noticed that in a number of cases - often while(!kthread_should_stop()){ loops
the call to set_current_state(...) is inside the loop - but e.g. in the below
case why would that be needed ? schedule() is not changing the state visibly
for the loop - so what is the point of setting the state inside the loop ?
e.g. net/core/pktgen.c
/* Wait for kthread_stop */
while (!kthread_should_stop()) {
set_current_state(TASK_INTERRUPTIBLE);
schedule();
}
from code review it seems to be that this would be equivalent
set_current_state(TASK_INTERRUPTIBLE);
while (!kthread_should_stop()) {
schedule();
}
what did I miss ?
thx!
hofrat
More information about the Kernelnewbies
mailing list