• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /macosx-10.9.5/CPANInternal-140/SOAP-Lite-0.715/examples/SOAP/Transport/HTTP/Daemon/
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