From nobody@hyperreal.com Mon Apr 28 13:45:49 1997 Received: (from nobody@localhost) by hyperreal.com (8.8.5/8.8.5) id NAA19175; Mon, 28 Apr 1997 13:45:49 -0700 (PDT) Message-Id: <199704282045.NAA19175@hyperreal.com> Date: Mon, 28 Apr 1997 13:45:49 -0700 (PDT) From: Alok Agrawal Reply-To: aagrawal@us.oracle.com To: apbugs@hyperreal.com Subject: Missing Terminate Stage X-Send-Pr-Version: 3.2 >Number: 498 >Category: general >Synopsis: Missing Terminate Stage >Confidential: no >Severity: critical >Priority: medium >Responsible: apache >State: closed >Class: change-request >Submitter-Id: apache >Arrival-Date: Mon Apr 28 13:50:01 1997 >Last-Modified: Fri Aug 15 00:41:21 PDT 1997 >Originator: aagrawal@us.oracle.com >Organization: >Release: All >Environment: Solaris >Description: I work at oracle corporation and we are trying to release an adapter that would allow users to run the Oracle Application server with Apache as the HTTP listener. We have hit upon a major problem that requires your immediate attention. The apache child processes don't call any terminate function before exiting, while we require that the oracle module we add to apache calls a terminate function just before the process is going to do an exit in order to release certain distributed resources. This should be a fairly easy fix since apache already has the framework to do so. All you need to do is add an extra function pointer in the module structure for the terminate stage and call it at all the places in http_main where the child might exit.Please contact me if you have any further questions. >How-To-Repeat: >Fix: >Audit-Trail: State-Changed-From-To: open-suspended State-Changed-By: dgaudet State-Changed-When: Mon Apr 28 15:04:26 PDT 1997 State-Changed-Why: While it is "easy" to add things like this we're in the middle of a code freeze trying to get 1.2 out the door. So unfortunately it won't be added until post-1.2. In the interim have you considered atexit() ? Also I doubt I need to point out that relying on exit functions to be called to free up resources is a networking no-no, so I hope you've got some other method (timeouts?) in the database to free these things up as well. Otherwise a SEGV could ruin your day. Thanks for supporting Apache though! Dean State-Changed-From-To: suspended-closed State-Changed-By: pcs State-Changed-When: Fri Aug 15 00:41:21 PDT 1997 State-Changed-Why: Apache 1.3 will have a per-process child-exit phase in the API, and a coresponding per-process child-init phase. >Unformatted: