Re: [linux-usb-devel] Re: My vision of usbmon

From: Pete Zaitcev
Date: Mon Dec 20 2004 - 07:23:12 EST


On Mon, 20 Dec 2004 12:55:59 +0100, Oliver Neukum <oliver@xxxxxxxxxx> wrote:

> Am Montag, 20. Dezember 2004 08:04 schrieb Pete Zaitcev:
> > +ÂÂÂÂÂÂÂadd_wait_queue(&rp->wait, &waita);
> > +ÂÂÂÂÂÂÂwhile ((ep = mon_text_fetch(rp, mbus)) == NULL) {
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂif (file->f_flags & O_NONBLOCK) {
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂremove_wait_queue(&rp->wait, &waita);
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂreturn -EWOULDBLOCK;ÂÂÂÂ/* Same as EAGAIN in Linux */
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ}
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ/*
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ * We do not count nwaiters, because ->release is supposed
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ * to be called when all openers are gone only.
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ */
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂset_current_state(TASK_INTERRUPTIBLE);
>
> Here you can lose a wakeup.
>
> > +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂschedule();

Thanks, Oliver. Indeed, it's a bug.

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