Hey Jakub don't wanna cause you pain but the big boys feel no sorrow! 2010/05/09 20:18:52 +0200 Jakub Narebski <jnareb@xxxxxxxxx> => To Peter Vereshagin : Great! I was just about to ask on caching, etc. What a complex history on all of that, will be on those tracks after some of my whiles. ;-) JN> What are required changes to gitweb to use FCGI::Spawn to run gitweb as JN> a FastCGI script? Alternatively, how the wrapper script for gitweb JN> (gitweb.fcgi) to be run as FastCGI should look like to use FCGI::Spawn? By far it's only an exit() of the what I use (1.6.0.6): --- /usr/local/share/examples/git/gitweb/gitweb.cgi 2010-02-25 13:49:30.068287112 +0300 +++ www/gitweb.cgi 2010-03-13 14:28:45.326244103 +0300 @@ -933,7 +933,7 @@ die_error(400, "Project needed"); } $actions{$action}->(); -exit; +# exit; ## ====================================================================== ## action links @@ -3371,7 +3371,7 @@ </div> EOF git_footer_html(); - exit; +# exit; } ## ---------------------------------------------------------------------- but it's probably even not necessary with -e parameter: http://search.cpan.org/~veresc/FCGI-Spawn-0.16.1/fcgi_spawn#Command_line_options which is definitely required for bugzilla, the worst boy in that sandbox. The parameter does just this: === my $cref = sub { if( 'FCGI::ProcManager' eq scalar caller ){ CORE::exit @_; } else { no warnings; last CALLED_OUT; } }; *CORE::GLOBAL::exit = $cref; *CORE::GLOBAL::exit; === so this requires configuration ( $PREFIX/etc/fcgi_spawn/preload_nonprepared_01.pl, in my case ) for fcgi_spawn daemon like this: === $spawn->{ callout } = sub{ do shift; CALLED_OUT: }; === all of that is not needed without exit() in gitweb, now. I didn't mean FCGI::PM is a problem by itself. The standalone gitweb daemon is great thing for those who need such a choice. FCGI::Spawn is just for some different task: to put several ( wish to say: any CGI app ) applications inside the same fork()ed processes. It should be just obviously documented for a user as a dependency for implementation of a gitweb fastcgi daemon. Although I'm not sure if the FCGI::PM package should be a dependency for git package for any OS: for those modules use()d in eval() my guess is: particular user's choice to be offered. So FCGI::PM usage I think makes a flavor taste for any daemon and thus should be explicit. YMMV for those uninvolved in daemonizing, of course. ;-) Is it probable that gitweb doesn't take any POSTs requests? The main trick around FCGI::Spawn is the need to patch the CGI.pm but if that is the case... I'd try to redefine the STDIN to /dev/null or zero so FCGI.Spawn.CGI.pm.patch should be unnecessary for one who only wants to run the gitweb in FCGI::Spawn. If switch to FCGI.pm will be way complicated to me. 73! Peter pgp: A0E26627 (4A42 6841 2871 5EA7 52AB 12F8 0CE1 4AAC A0E2 6627) -- http://vereshagin.org -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html