diff options
| author | Oliver Neukum <oliver@neukum.org> | 2004-05-11 01:45:25 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <greg@kroah.com> | 2004-05-11 01:45:25 -0700 |
| commit | ec0e35582cdb938b4086a8f3643932fab885df35 (patch) | |
| tree | 994ccb5513d3e520f3ae93e750298bade329365b /include/linux | |
| parent | 4808f141a8b359ea5cc29064cd2c1d4d44a8e159 (diff) | |
[PATCH] USB: fixes of assumptions about waitqueues
quoting Linus:
--
> so there is no need to recheck the bit in do/while loop, because
> there is no false wakeups now.
You should never assume this. You should assume that there are _always_
false wakeups.
Why? Because Linux has always allowed people to leave wait-queues active,
without being "atomic". For example, the tty read/write layer used to
(still does?) add itself on the wait-queue _once_, and then leave itself
on the wait-queue while in a loop it does copies from/to user space.
--
Unfortunately, this means us. Here's the first fix. Comments?
- make sure timeouts are observed even if somebody left us on a queue
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
