You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Paul Sutton <pa...@ukweb.com> on 1996/10/08 10:19:06 UTC

Graceful restarts

As already mentioned, graceful restarts can die if used repeatedly... the
following code can be used to test it

  while :
  do
   kill -USR1 pid
  done

On both Linux and IRIX I can get this to give a failed assertion in the
listener code (it might not affect non-listener systems, I suppose).
Anyway, an easy fix seems to be to ignore USR1 during a restart.

I still have another problem, in that the children of older generations
seem to die very slowly (if at all). The above stress test can quickly
cause the system to run out of processes as the children take over. I
would like to see some way for children to timeout from the mutex wait
every so often so that they can see if they should die. At the least,
there should prehaps be some overall process limit coverring all children
(the MaxServers applies, I _think_, only to children of the current
generation... previous generations are quietly forgetten about).

Paul
UK Web Ltd

*** ../src/http_main.c	Tue Oct  1 12:33:59 1996
--- http_main.c	Tue Oct  8 09:09:23 1996
***************
*** 1727,1732 ****
--- 1727,1733 ----
      ++generation;

      signal (SIGHUP, SIG_IGN);	/* Until we're done (re)reading config */
+     signal (SIGUSR1, SIG_IGN);

      if(!one_process && !is_graceful)
      {