#!/usr/bin/perl

use strict;
use CGI;
use Bio::Graphics::Browser;
use Bio::Graphics::Browser::Render::HTML;

umask 022;

my $fcgi   = Bio::Graphics::Browser::Render->fcgi_request;

if ($fcgi) {

    my $FCGI_DONE = 0;
    $SIG{TERM} = sub {
	print STDERR "[$$] FastCGI termination signalled. Will exit.\n";
	$FCGI_DONE = 1;
    };

    while (!$FCGI_DONE && ($fcgi->Accept >= 0)) {
	my $globals = Bio::Graphics::Browser->open_globals;
	CGI->initialize_globals();
	Bio::Graphics::Browser::Render::HTML->new($globals)->run();
    }

} else {
    my $globals = Bio::Graphics::Browser->open_globals;
    Bio::Graphics::Browser::Render::HTML->new($globals)->run();
}

exit 0;
