Please CC me on any reply as I'm not subscribed.
I've come across what seems to me to be a minor bug on System 5 semaphores.
When a process which has used a set of semaphores exits, the process id
of the exiting process is assigned to the "sempid" of every semaphore in
the set, not just the ones that the process has changed.
This seems to me because in kernel 2.4.21/ipc/sem.c line 1062
sem->sempid = current->pid;
should be made conditional on u->semadj[i] being non-zero.
Personally I think it would be useful to omit this assignment altogether
and have the "sempid" value reflect the last explicit semaphore
operation rather than the implicit ones caused by "undos".
--
John Collins Xi Software Ltd http://www.xisl.com