From 6df419089853e571fa828e9cce2622afef5b7ddc Mon Sep 17 00:00:00 2001 From: Manfred Spraul Date: Tue, 15 Dec 2009 16:47:31 -0800 Subject: [PATCH] --- yaml --- r: 176693 b: refs/heads/master c: b6e90822e77cd476c18410f7003197d466e36ac6 h: refs/heads/master i: 176691: 032370e277d5753141d2d99cd3aa54f3a6143a79 v: v3 --- [refs] | 2 +- trunk/ipc/sem.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 187f345476d3..998caa75b503 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d4212093dca95c1f52197017d969cc66d5d962aa +refs/heads/master: b6e90822e77cd476c18410f7003197d466e36ac6 diff --git a/trunk/ipc/sem.c b/trunk/ipc/sem.c index 2705fbbc4374..eac3f46a5968 100644 --- a/trunk/ipc/sem.c +++ b/trunk/ipc/sem.c @@ -445,13 +445,13 @@ static void update_queue (struct sem_array * sma) * of the completed operation: * - if the operation modified the array, then restart from the * head of the queue and check for threads that might be - * waiting for semaphore values to become 0. + * waiting for the new semaphore values. * - if the operation didn't modify the array, then just * continue. */ alter = q->alter; wake_up_sem_queue(q, error); - if (alter) + if (alter && !error) goto again; } }