On 7/21/05, Pavel Machek <[EMAIL PROTECTED]> wrote: > Hi! > > > > + set_task_state(tsk, TASK_UNINTERRUPTIBLE); > > > + schedule_timeout(HZ / 100); > > > + if (signal_pending(tsk)) > > > + break; > > > > You specifically allow SIGKILL, but then sleep uninterruptibly? And > > then you check if signal_pending() :) I think you may want > > TASK_INTERRUPTIBLE? Or, go one better and use msleep_interruptible(), > > as I don't see any wait-queues in the immediate area of this code... > > Okay, I think this should be uninterruptible. The signal can be > delivered during next interruptible sleep. Fixes.
Good point. But the signal_pending() check after that interruptible sleep (which deterministically comes after this one) takes care of the break, doesn't it? I guess you can (maybe already have done so...) get rid of the signal_pending() check after the uninterruptible sleep. And then go ahead and make this an msleep(10) call and the other one (in the same function) an msleep_interruptible() call ;) Thanks, Nish - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/