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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|