I don't know why I have to learn this fresh again each time -- it appears
I'm confusing mod_perl and mod_cgi.

Let's see if I have this right.  Under mod_perl and apache >= 1.3.5 if the
client drops the connection Apache will ignore it (well it might print an
info message to the log file about "broken pipe").  This means a running
mod_perl script will continue to run to completion, but the $r->prints go
nowhere.

The old Apache behavior of killing your running script can be restored
using Apache::SIG -- which is something you would not want to use if you
were doing anything besides displaying content, I'd think.

$r->connection->aborted can be used to detect the aborted connection (as
Stas shows in the Guide).  That sounds like a better way to deal with
broken connections.

Does all that sound right?

Are there still issues with doing this?

   local $SIG{PIPE} = sub { $aborted++ };



Then mod_cgi I'm still unclear on.

The cgi application does receive the SIGPIPE... well it did 1/2 hour ago
before I rebooted my machine.  Now I can't seem to catch it.
But, printing again after the SIGPIPE will kill the CGI script. 

Bill Moseley
mailto:[EMAIL PROTECTED]

Reply via email to