Messages in this thread | | | Date | Wed, 25 Sep 2013 08:55:16 +0200 | From | Manfred Spraul <> | Subject | Re: [PATCH] ipc/sem.c: fix update sem_otime when calling sem_op in semaphore initialization |
| |
Hi Jia,
On 09/25/2013 05:05 AM, Jia He wrote: > Hi Manfred > IIUC after reivewing your patch and src code, does it seem > sem_otime lost the chance to be updated when calling > semctl_main/semctl_setval? > In old codes, even whendo_smart_update(sma, NULL, 0, 0, &tasks), > the otime can be updated after several conditions checking. The update is performed now performed inside perform_atomic_semop():
Old code: perform_atomic_semop() does not update sem_otime. It just returns 0 for successfull operations. This "0 returned" is passed upwards ("semop_completed") into do_smart_update() do_smart_update() updates sem_otime.
New code: perform_atomic_semop() updates sem_otime immediately (your change). No need to keep track if a waiting operation was completed (my change).
I don't see a problem - perhaps I overlook something. Which problem do you see?
-- Manfred
| |