[Bio] / FigKernelPackages / ServerThing.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/ServerThing.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.65, Mon Mar 14 20:57:19 2011 UTC revision 1.71, Thu Mar 17 20:30:01 2011 UTC
# Line 66  Line 66 
66                  if ($ENV{REQUEST_METHOD} eq '') {                  if ($ENV{REQUEST_METHOD} eq '') {
67                      # Count the number of requests.                      # Count the number of requests.
68                      my $requests = 0;                      my $requests = 0;
69                      Trace("Starting Fast CGI loop.") if T(3);                      # warn "Starting fast CGI loop.\n"; ##HACK Trace("Starting Fast CGI loop.") if T(3);
70                      # Loop through the fast CGI requests. If we have request throttling,                      # Loop through the fast CGI requests. If we have request throttling,
71                      # we exit after a maximum number of requests has been exceeded.                      # we exit after a maximum number of requests has been exceeded.
72                      require CGI::Fast;                      require CGI::Fast;
73                        open(SERVER_STDERR, ">", *STDERR);
74                      while ((MAX_REQUESTS == 0 || ++$requests < MAX_REQUESTS) &&                      while ((MAX_REQUESTS == 0 || ++$requests < MAX_REQUESTS) &&
75                             ($cgi = new CGI::Fast())) {                             ($cgi = new CGI::Fast())) {
76                            #
77                            # Remap STDERR. Inside here, our STDERR is a tie to a FCGI::Stream
78                            # so we need to save it to keep FCGI happy.
79                            #
80                            *SAVED_STDERR = *STDERR;
81                            my $function = $cgi->param('function') || "<non-functional>"; #HACK
82                            # warn "Function request is $function in task $$.\n"; ##HACK
83                          RunRequest($cgi, $serverThing);                          RunRequest($cgi, $serverThing);
84                          Trace("Request $requests complete in task $$.") if T(3);                          # warn "$requests requests complete in fast CGI task $$.\n"; ##HACK Trace("Request $requests complete in task $$.") if T(3);
85                            *STDERR = *SAVED_STDERR;
86                      }                      }
87                      Trace("Terminating FastCGI task $$ after $requests requests.") if T(2);                      # warn "Terminating FastCGI task $$ after $requests requests.\n"; ##HACK Trace("Terminating FastCGI task $$ after $requests requests.") if T(2);
88                        close(SERVER_STDERR);
89                  } else {                  } else {
90                      # Here we have a normal web service (non-Fast).                      # Here we have a normal web service (non-Fast).
91                      my $cgi = CGI->new();                      my $cgi = CGI->new();
# Line 1191  Line 1201 
1201                          print $cgi->header(-type => 'text/javascript');                          print $cgi->header(-type => 'text/javascript');
1202                      }                      }
1203                      # The nature of the output depends on the encoding type.                      # The nature of the output depends on the encoding type.
1204                        eval {
1205                      my $string;                      my $string;
1206                      if ($encoding eq 'yaml') {                      if ($encoding eq 'yaml') {
1207                          $string = YAML::Dump($document);                          $string = YAML::Dump($document);
# Line 1201  Line 1212 
1212                      }                      }
1213                      print $string;                      print $string;
1214                      MemTrace(length($string) . " bytes returned from $function by task $$.") if T(Memory => 3);                      MemTrace(length($string) . " bytes returned from $function by task $$.") if T(Memory => 3);
1215                        };
1216                        if ($@) {
1217                            SendError($@, "Error encoding result.");
1218                            Trace("Error encoding result: $@") if T(0);
1219                        }
1220                  }                  }
1221              }              }
1222              # Stop the timer.              # Stop the timer.
# Line 1478  Line 1494 
1494      # Get the parameters.      # Get the parameters.
1495      my ($msg) = @_;      my ($msg) = @_;
1496      # Open the log file for appending.      # Open the log file for appending.
1497      if (open(my $oh, ">>$FIG_Config::tmp/servers.log")) {      open(my $oh, ">>$FIG_Config::temp/servers.log") || Confess("Log error: $!");
1498          print $oh "$msg\n";          print $oh "$msg\n";
1499          close $oh;          close $oh;
1500      }      }
 }  
1501    
1502  1;  1;

Legend:
Removed from v.1.65  
changed lines
  Added in v.1.71

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3