Skip to contentSkip to conversation

Minor Bug with System 5 Semaphores

DISCUSSION John M Collins 1 participant 1 message Jun 27, 2003

lore
Share & tools
lore
#0 lore raw

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".

Signature · 1 line
John Collins Xi Software Ltd www.xisl.com