Re: schedule_timeout() semantics/usage?

Andrea Arcangeli (andrea@suse.de)
Thu, 21 Oct 1999 02:34:30 +0200 (CEST)


On Wed, 20 Oct 1999, David Hinds wrote:

>Look at net/irda/*.c [..]

/* Make sure nobody tries to transmit during the speed change */
while (irda_lock((void *) &self->netdev.tbusy) == FALSE) {
WARNING(__FUNCTION__ "(), device locked!\n");
current->state = TASK_INTERRUPTIBLE;
schedule_timeout(MSECS_TO_JIFFIES(10));

if (n++ > 10) {
WARNING(__FUNCTION__ "(), breaking loop!\n");
break;
}
}

The above looks a bug. It should be using
__set_current_state(TASK_UNINTERRUPTIBLE).

> [..] or isdn/hisax/*.c, for example.

Yes, it should be using UNINTERRUPTIBLE as well.

This is a case where most people say "Oh well..." ;).

Andrea

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/