I contemplated relatively-complex exit sequences so that children didn't exit until the test was over, but life is short, and these test programs should be short too.
Okay, here are the problems that we identified yesterday. Unfortunately, we didn't have time to indicate to the list what our resolution is. Hence, you guys are somewhat out of the loop and I think are going off in the wrong direction here.
1) testprocmutex isn't calling apr_proc_mutex_child_init (note that httpd does) 2) SysVSem's proc mutex isn't doing anything on child_init 3) In the SysVSem cleanup, semctl isn't properly identifying errors 4) All children are running the cleanups where only the parent should
What we said we should do is that the child_init call should remove the cleanup from the children (since it can do the cleanup_kill as the SysV cleanup is a static call within proc_mutex.c). The proc mutex cleanups should only be done by the parent not each child.
I believe Aaron's initial intent of his reply to Philip was that he couldn't reproduce it, but that he (and the rest of the Las Vegas gang) did know exactly what to do to fix this correctly. -- justin