DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20371>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20371

Restart failure if httpd.pid contains current PID

           Summary: Restart failure if httpd.pid contains current PID
           Product: Apache httpd-2.0
           Version: 2.0.44
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Core
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


There's a somewhat obscure way that httpd can fail to start.

If httpd was not closed cleanly, it will leave a PidFile.  On restarting, httpd
checks that PidFile and if it exists, grabs the number from it then does a kill(
PID_value, 0) which checks to see whether it can send a signal to the process
with that PID.  If it can, it does not start since it assumes that another copy
is already running.

However, what happens if that PID is being used by a different process now? 
That actually happens rather often if httpd is started by an init script.

The operable code is in mpm_common.c starting at about line 751.  Is it
reasonable to have httpd also verify that the PID is actually a running instance
of httpd?  With linux that should be relatively easy, but I don't know about
other OS flavors.

(My work-around it to have my init script check that the PidFile value is a
running instance of httpd.)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to