On Tue, 25 Jan 2005 15:12:05 -0800, "Micon, David" <[EMAIL PROTECTED]> wrote:
> add_wait_queue(&list->hiddev->wait, &wait); > - set_current_state(TASK_INTERRUPTIBLE); > > while (list->head == list->tail) { > + set_current_state(TASK_INTERRUPTIBLE); > if (file->f_flags & O_NONBLOCK) { This is not likely to be right. The state must be set before a key condition is tested, as a rule, or events are missed. State has to be changed to TASK_INTERRUPTIBLE after a return from schedule() (which always returns in TASK_RUNNING). -- Pete ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel