Home   |   Contact Us   |   Site Map

 

 

 

  SIG.pm Perldoc

 


NAME

Apache::SIG - Override apache signal handlers with Perl's


SYNOPSIS

PerlFixupHandler Apache::SIG


DESCRIPTION

When a client drops a connection and apache is in the middle of a write, a timeout will occur and httpd sends a SIGPIPE. When apache's SIGPIPE handler is used, Perl may be left in the middle of it's eval context, causing bizarre errors during subsequent requests are handled by that child. When Apache::SIG is used, it installs a different SIGPIPE handler which rewinds the context to make sure Perl is back to normal state, preventing these bizarre errors.

If you would like to log when a request was cancelled by a SIGPIPE in your Apache access_log, you can declare Apache::SIG as a handler (any Perl*Handler will do, as long as it is run before PerlHandler, e.g. PerlFixupHandler), and you must also define a custom LogFormat in your httpd.conf, like so:

PerlFixupHandler Apache::SIG LogFormat ``%h %l %u %t \''%r\`` %s %b %{SIGPIPE}e''

If the server has noticed that the request was cancelled via a SIGPIPE, then the log line will end with 1, otherwise it will just be a dash.


CAVEATS

The signal handler in this package uses the subprocess_env table of the main request object to supply the 'SIGPIPE' ``environment variable'' to the log handler. If you already use the key 'SIGPIPE' in your subprocess_env table, then you can redefine the key like this:

$Apache::SIG::PipeKey = 'my_SIGPIPE';

and log it like this:

LogFormat ``%h %l %u %t \''%r\`` %s %b %{my_SIGPIPE}e''


AUTHORS

Doug MacEachern and Doug Bagley


SEE ALSO

perlvar(1)



 

Browse our Perldoc FAQs:

Perldoc Home

Perldoc Site Map


Previous Topics

SelfLoader.pm Perldoc

SelfStubber.pm Perldoc

Semaphore.pm Perldoc

servent.pm Perldoc

_server.pm Perldoc

Server.pm Perldoc

Shell.pm Perldoc

Showlex.pm Perldoc


Next Topics

sigtrap.pm Perldoc

Simple.pm Perldoc

SizeLimit.pm Perldoc

SMTP.pm Perldoc

snews.pm Perldoc

Socket.pm Perldoc

Soundex.pm Perldoc

Spec.pm Perldoc


Website Spotlight

Domain Hosting with the Leader in Innovative and Comprehensive Web Hosting Solutions, Globalnet GNP.

Reliable Domain Hosting

 

Click here to increase your web traffic insantly!


 Copyright © 1999-2005 Globalnet Promotions, LLC.   |   TheServerRoom.org Home    |   Sitemap    |   RSS News Feeds