I want to convert a cgi-app to fast-cgi, but there are lots of exit-statements deep in the code. This makes fast-cgi start the whole programm from the very beginning. Some kind of MyModule::exit would be possible, but what should MyModule::exit do? This is testcode I wrote to check it:
#!/usr/bin/perl
use CGI::Fast qw(:standard);
our $COUNTER = 0;
while ( my $wwwform = CGI::Fast->new() ) {
my $dinner = Dinner->new($wwwform);
$dinner->serve( $COUNTER++ );
}
# Now the stuff long existing...
package Dinner;
use CGI::Fast qw(:standard);
sub new {
my ( $class, $wwwform ) = @_;
bless { wwwform => $wwwform }, $class;
}
sub serve {
my ( $self, $counter ) = @_;
print header, start_html('Fast CGI Test');
printf "It's %s<br />", scalar localtime;
print "Counter is $counter<br />";
print end_html;
# BAD! But in several parts of code...
# Fastcgi-mainprogramm exits and starts to run on next
# request from the very beginning, loading tons of modules
# etc.
exit;
# Dinner::Base::exit() # ????
}
1;