You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Nathan Kellogg <ap...@nwlocation.com> on 2006/11/22 01:22:48 UTC

[users@httpd] CGI app held open

   We are debugging a CGI app ( mod_isapi ) running on a WINxp machine.

   The app executes fine but Apache retains the file handle on the app 
making it impossible to overwrite the old cgi app with the new one 
without  restarting apache.

Is there a way to change this behavior without compromising performance?


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] CGI app held open

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Nathan Kellogg wrote:
>   We are debugging a CGI app ( mod_isapi ) running on a WINxp machine.

Just so you are clear, ISAPI is not CGI - CGI describes a way to launch
a program (or script, via a program) passing environment variables to
describe the request, and listening to the stdout of the program/script
for what to write back at the client.  Pretty simplistic interface.

ISAPI doesn't work that way; it's an API that pushes a request to the
.dll (on unix, an .so) entry point, and provides a number of more
sophisticated mechanisms to respond to the client.

>   The app executes fine but Apache retains the file handle on the app
> making it impossible to overwrite the old cgi app with the new one
> without  restarting apache.

Apache loads the .dll and keeps a reference count of concurrent requests.
For many reasons, it is not unloaded between requests.

> Is there a way to change this behavior without compromising performance?

You are asking is it possible to reload the .dll on each and every request,
and then unload it when each request completes...

...and you ask if this can be done without comprimising performance?

Think it through :)

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org