> This works well with perfork and worker under Linux. I have a couple > of comments though: > > 1) There are some not infrequent cases I have run into where apache > needs to be killed (for unrelated reasons) and the shared memory > segment does not get cleaned up. When this happens, you can't restart > the server. You get a "file exists" error and apache refuses to start > up. This is easy to fix with ipcrm but the error is confusing and > does not make the solution obvious. > > It would be nice if apache would clean up the shared memory segement > if it sees it, or have a more meaningfull error.
The last time I looked at the scoreboard code, we tried very hard to clean up after ourselves, by registering a cleanup to be called when the process exited. If we aren't doing that, or the cleanup isn't being called, that is a bug. If the parent is segfaulting, and thus not calling the cleanup, there isn't much more we can do. :-( > 2) Unless I am missing something, there does not seem to be an easy way > for an external application accessing the scoreboard to know how to > navigate the data structure. You have to know the server limit and > thread limit or else you run into problems. It would be nice to > be able to derive those values from the scoreboard image instead of > the httpd.conf file. Those values should be found with the ap_mpm_query function. If you can't get them out of that function, they should be added to it. Ryan
