From: Emil Williams Date: Thu, 21 Aug 2025 00:32:48 +0000 (+0000) Subject: Immortality X-Git-Url: https://git.xolatile.top/?a=commitdiff_plain;h=658f9c0c0fcce6a6371fbdaf8f74a5ca4265c9a9;p=gorillanest.git Immortality --- diff --git a/config.default.pl b/config.default.pl index b95d005..9fbc1a2 100644 --- a/config.default.pl +++ b/config.default.pl @@ -1,15 +1,18 @@ -# always assume anything to do with files is from project root +# always assume anything to do with files or directories is ran at project root + +# If you're using lighttpd, set this to 1 +# This disables SOCKET_FILE and lets the socket handling be externally managed +use constant BARE_REQUEST => 0; + +use constant IMMORTAL => 1; # will continue handling request after death/error use constant LOG_FILE => '/tmp/gorillanest.log'; -use constant SOCKET_FILE => '/tmp/gorillanest.socket'; use constant DB_FILE => 'gorillanest.sqlite3'; # sqlite3 +use constant SOCKET_FILE => '/tmp/gorillanest.socket'; +use constant SOCKET_MAX_CONNECTIONS => 100; + use constant TEMPLATE_ROOT => 'template'; # template directory use constant GIT_ROOT => 'git'; # git directory (~user/repo) -# If you're using lighttpd, set this to 1 -# This disables SOCKET_FILE and lets the socket handling be externally managed -use constant BARE_REQUEST => 0; - -use constant SOCKET_MAX_CONNECTIONS => 100; 1; diff --git a/gorillanest.pl.fcgi b/gorillanest.pl.fcgi index 7dc343f..afba9be 100755 --- a/gorillanest.pl.fcgi +++ b/gorillanest.pl.fcgi @@ -9,12 +9,15 @@ use FCGI; use lib '.'; BEGIN { require 'gorillanest.pl.cgi'; } -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(); +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"); } -} catch ($error) { - info("Crashed: $error"); + exit 1 unless (IMMORTAL); }