Practical mod_perl / HTML Book /



previous page: 22.4.1. Evil Things Might Happen When Using PerlFreshRestart
  
page up: HTML Version of the book
  
next page: 22.4.3. Processes Get Stuck on Graceful Restart

22.4.2. [warn] child process 30388 did not exit, sending another SIGHUP


With Apache Version 1.3.0 and higher, mod_perl will call the perl_destruct( ) Perl API function during the child exit phase. This will cause proper execution of any END blocks found during server startup and will also invoke the DESTROY method on global objects that still exist.

It is possible that this operation will take a long time to finish, causing problems during a restart. If you use the apachectl script to restart the server, it sends the SIGHUPsignal after waiting for a short while. The SIGHUP can cause problems, since it might disrupt something you need to happen during server shutdown (for example, saving data).

If you are certain that your code does not contain any END blocks or DESTROY methods to be run during child server shutdown, you can avoid the delays by setting the PERL_DESTRUCT_LEVEL environment variable to -1. Be careful, however; even if your code doesn't include any END blocks or DESTROY methods, any modules you use( ) might.

 

Continue to:

  • prev: 22.4.1. Evil Things Might Happen When Using PerlFreshRestart
  • Table of Contents
  • next: 22.4.3. Processes Get Stuck on Graceful Restart







TOP
previous page: 22.4.1. Evil Things Might Happen When Using PerlFreshRestart
  
page up: HTML Version of the book
  
next page: 22.4.3. Processes Get Stuck on Graceful Restart


Menu

  • HTML Book
  • PDF Book
  • Download Code
  • Table of Contents
  • Errata
  • mod_perl2 User's Guide
  • Sitemap

Search


Add to Google




Creative Commons License


Written by
Eric Cholet (Logilune) and
Stas Bekman (StasoSphere & Free Books).


[ Privacy Policy | Terms of Use | About Us | Search ]

© 2007 StasoSphere.com