On a slightly related note - I have seen that the cgi-handler continues to function for a GET request after a graceful restart, but not for a POST request.
Cheers, Brad On Wed, 13 Jan 2010 12:57:10 +0300 Alexey Vlasov <ren...@renton.name> wrote: > Hi. > > It seems to me that graceful restart doesn't work in mod_fcgid at all. > > My configuration: > <IfModule mod_fcgid.c> > FcgidProcessTableFile /tmp/fcgidshm_aux7 > FcgidIPCDir /tmp/.fcgidsock_aux7 > FcgidMinProcessesPerClass 0 > FcgidIdleTimeout 300 > FcgidIdleScanInterval 1 > FcgidProcessLifeTime 150 > FcgidErrorScanInterval 150 > FcgidFixPathinfo 1 > </IfModule> > ... > <VirtualHost *> > <IfModule fcgid_module> > FcgidWrapper /full/path/to/wrapper .php > FcgidIOTimeout 150 > </IfModule> > </VirtualHost> > > I made a simple script to check my guess: > $ cat sleep.php > <?php sleep (60); echo OK; ?> > > Checking without Apache restart: > $ time wget http://test-aux7/sleep.php > --2010-01-12 16:53:08-- http://test-l12-aux7/sleep.php > Resolving test-aux7... 111.222.11.22 > Connecting to test-aux7|111.222.11.22|:80... connected. > HTTP request sent, awaiting response... 200 OK > Length: unspecified [text/html] > Saving to: `sleep.php' > > [ <=> > ] 2 --.-K/s in 0s > > 2010-01-12 16:54:08 (258 KB/s) - `sleep.php' saved > > real 1m0.466s > user 0m0.000s > sys 0m0.004s > > $ cat sleep.php > OK > Here is everything ok. > > Now with graceful restart: > time wget http://test-aux7:80/sleep.php > --2010-01-12 16:57:15-- http://test-aux7:80/sleep.php > Resolving test-aux7... 111.222.11.22 > Connecting to test-aux7|111.222.11.22|:80... connected. > HTTP request sent, awaiting response... No data received. > Retrying. > > --2010-01-12 16:57:22-- (try: 2) http://test-aux7:80/sleep.php > Connecting to test-aux7|111.222.11.22|:80... connected. > HTTP request sent, awaiting response... > > Here what goes in error_log: > [Tue Jan 12 16:55:27 2010] [emerg] [client 10.0.2.11] (22)Invalid argument: > mod_fcgid: can't lock process table in pid 4172 >