aboutsummaryrefslogtreecommitdiff
path: root/perl/fcgi.pl
blob: f3701e0caee5f1559e4853e3601ec7efba8959ba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/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 {
        my $request = FCGI::Request( \*STDIN, \*STDOUT, \*STDERR, \%ENV, BARE_REQUEST ? 0 : FCGI::OpenSocket(SOCKET_FILE, SOCKET_MAX_CONNECTIONS));
        while($request->Accept() >= 0) {
            GN::cgi();
        }
    } catch ($error) {
        info("Crashed: $error");
    }
    exit 1 unless (IMMORTAL);
}