Messages in this thread |  | | | Date | Wed, 23 Jun 2010 21:14:22 +0200 | | Subject | Re: 2.6.35-rc3 deadlocks on semaphore operations | | From | Luca Tettamanti <> |
| |
On Wed, Jun 23, 2010 at 6:29 PM, Manfred Spraul <manfred@colorfullife.com> wrote: > Hi, > > I think I found it: > Previously, queue.status was never IN_WAKEUP when the semaphore spinlock was > held. > > The last patch changes that: > Now the change from IN_WAKEUP to the final result code happens after the the > semaphore spinlock is dropped. > Thus a task can observe IN_WAKEUP even when it acquired the semaphore > spinlock. > > As a result, semop() sometimes returned 1 (IN_WAKEUP) for a successful > operation. > > Attached is a patch that should fix the bug.
Apache seems fine.
Tested-by: Luca Tettamanti <kronos.it@gmail.com>
thanks, Luca
|  |