https://issues.apache.org/bugzilla/show_bug.cgi?id=50278

           Summary: -DFOREGROUND and ap_unixd_killpg()/ap_os_killpg()
           Product: Apache httpd-2
           Version: 2.3-HEAD
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core
        AssignedTo: [email protected]
        ReportedBy: [email protected]


-DFOREGROUND mutes setsid() call so entire httpd processes collection (master +
childs) inherites process group from the parent process which is usually some
sort of supervisor process. Regardless of fact that https is NOT process group
leader in given case httpd uses *_killpg() call[s] during cleanup stage what
effectively kills entire process group httpd do not own. This is complete
disaster and apache must not do this. httpd should check whether it is process
group leader or not first. If not, it must not kill process group it belongs.
Saying that I see no other way as to keep childs PIDs somewhere and kill them
separately one by one.


In theory "httpd -DFOREGROUND -DNO_DETACH" should make apache run as well
behaved application, but we see that this does not work at all. In some cases
it can kill init and this is what must never happen.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to