![]() | |||||||||||||
Messages in this thread |
On Tue, 2004-03-30 at 15:06, Srivatsa Vaddagiri wrote: > On Tue, Mar 30, 2004 at 01:07:12AM +0000, Andrea Arcangeli wrote: > > btw, the set_current_state(TASK_INTERRUPTIBLE) before > > kthread_should_stop seems overkill w.r.t. smp locking, plus the code is > > written in the wrong way around, all set_current_state are in the wrong > > place. It's harmless but I cleaned up that bit as well. > > I think set_current_state(TASK_INTERRUPTIBLE) before kthread_should_stop() > _is_ required, otherwise kthread_stop can fail to destroy a kthread. The problem is that kthread_stop used to send a signal to the kthread, which meant we didn't have to beware of races (since it would never sleep any more): kthread_should_stop() was called signal_pending 8) Andrew hated the signal mechanism, so I abandoned it, but didn't go back and fix all the users. It's tempting to send a signal anyway to make life simpler, though, although that might set a bad example for others. Rusty. -- Anyone who quotes me in their signature is an idiot -- Rusty Russell - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-03-22 13:02 [W:0.131 / U:0.120 seconds] ©2003-2008 Jasper Spaans | |||||||||||||