Messages in this thread | | | Date | Thu, 21 Oct 1999 02:34:30 +0200 (CEST) | From | Andrea Arcangeli <> | Subject | Re: schedule_timeout() semantics/usage? |
| |
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/
| |