diff options
Diffstat (limited to 'perl')
| -rwxr-xr-x | perl/fcgi.pl | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/perl/fcgi.pl b/perl/fcgi.pl index 823cd86..29e2fc1 100755 --- a/perl/fcgi.pl +++ b/perl/fcgi.pl @@ -9,15 +9,19 @@ 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)); - my ($data, $routes, $routes_cache) = GN::init(); - while($request->Accept() >= 0) { - GN::cgi($data, $routes, $routes_cache); +sub GN::fcgi() { + while (1) { + try { + my $request = FCGI::Request( \*STDIN, \*STDOUT, \*STDERR, \%ENV, BARE_REQUEST ? 0 : FCGI::OpenSocket(SOCKET_FILE, SOCKET_MAX_CONNECTIONS)); + my ($data, $routes, $routes_cache) = GN::init(); + while($request->Accept() >= 0) { + GN::cgi($data, $routes, $routes_cache); + } + } catch ($error) { + info("Crashed: $error"); + } + exit 1 unless (IMMORTAL); } - } catch ($error) { - info("Crashed: $error"); - } - exit 1 unless (IMMORTAL); } + +GN::fcgi() if !caller; |
