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
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel