diff options
Diffstat (limited to 'perl/fcgi.pl')
| -rwxr-xr-x | perl/fcgi.pl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/perl/fcgi.pl b/perl/fcgi.pl new file mode 100755 index 0000000..0f3dff8 --- /dev/null +++ b/perl/fcgi.pl @@ -0,0 +1,23 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use Syntax::Keyword::Try; +use FCGI; + +use lib qw(perl); +BEGIN { require 'cgi.pl'; } + +while (1) { + try { + open STDERR, '>', LOG_FILE or die LOG_FILE . ": $!"; + my $request = FCGI::Request( \*STDIN, \*STDOUT, \*STDERR, \%ENV, BARE_REQUEST ? 0 : FCGI::OpenSocket(SOCKET_FILE, SOCKET_MAX_CONNECTIONS)); + while($request->Accept() >= 0) { + master(); + } + } catch ($error) { + info("Crashed: $error"); + } + exit 1 unless (IMMORTAL); +} |
