Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 51 lines (41 sloc) 1.17 KB
#!/usr/bin/perl
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; # not running under some shell
use strict;
use CGI;
use Bio::Graphics::Browser2;
use Bio::Graphics::Browser2::Render::HTML;
umask 022;
my $fcgi = Bio::Graphics::Browser2::Render->fcgi_request;
my $init;
if ($fcgi) {
my $FCGI_DONE = 0;
$SIG{USR1} = $SIG{PIPE} = $SIG{TERM} = sub {
my $sig = shift;
my $time = localtime;
print STDERR "[$time] [notice] GBrowse FastCGI process caught sig$sig. Exiting... (pid $$)\n";
$FCGI_DONE = 1;
};
my %sys_env = %ENV;
while (!$FCGI_DONE) {
my $status = $fcgi->Accept;
next unless $status >= 0;
%ENV = (%sys_env, %ENV);
my $globals = Bio::Graphics::Browser2->open_globals;
CGI->initialize_globals();
my $render = Bio::Graphics::Browser2::Render::HTML->new($globals);
eval {
local $SIG{PIPE} = sub {die "pipe"};
$render->run();
};
warn $@ if $@;
$render->destroy;
}
my $pgrp = getpgrp();
kill TERM => -$pgrp;
} else {
$SIG{TERM} = sub { warn "gbrowse going down..."; CORE::exit 0 };
my $globals = Bio::Graphics::Browser2->open_globals;
Bio::Graphics::Browser2::Render::HTML->new($globals)->run();
}
exit 0;
Something went wrong with that request. Please try again.