1package SOAP::Transport::HTTP::Daemon::ForkAfterProcessing; 2 3use strict; 4use vars qw(@ISA); 5use SOAP::Transport::HTTP; 6 7# Idea and implementation of Peter Fraenkel (Peter.Fraenkel@msdw.com) 8 9@ISA = qw(SOAP::Transport::HTTP::Daemon); 10 11sub handle { 12 my $self = shift->new; 13 CLIENT: 14 while (my $c = $self->accept) { 15 my $first = 1; 16 while (my $r = $c->get_request) { 17 $self->request($r); 18 $self->SOAP::Transport::HTTP::Server::handle; 19 if ($first && fork) { $first=0; $c->close; next CLIENT } 20 $c->send_response($self->response) 21 } 22 $c->close; 23 undef $c; 24 } 25} 26 271; 28