oracular (3) Net::Server::Fork.3pm.gz

Provided by: libnet-server-perl_2.014-1_all bug

NAME

       Net::Server::Fork - Net::Server personality

SYNOPSIS

           use base qw(Net::Server::Fork);

           sub process_request {
               #...code...
           }

           __PACKAGE__->run();

DESCRIPTION

       Please read the pod on Net::Server first.  This module is a personality, or extension, or sub class, of
       the Net::Server module.

       This personality binds to one or more ports and then waits for a client connection.  When a connection is
       received, the server forks a child.  The child handles the request and then closes.

       With the exception of parent/child signaling, this module will work (with basic functionality) on Win32
       systems.

ARGUMENTS

       check_for_dead
           Number of seconds to wait before looking for dead children.  This only takes place if the maximum
           number of child processes (max_servers) has been reached.  Default is 60 seconds.

       max_servers
           The maximum number of children to fork.  The server will not accept connections until there are free
           children. Default is 256 children.

       max_dequeue
           The maximum number of dequeue processes to start.  If a value of zero or undef is given, no dequeue
           processes will be started.  The number of running dequeue processes will be checked by the
           check_for_dead variable.

       check_for_dequeue
           Seconds to wait before forking off a dequeue process.  It is intended to use the dequeue process to
           take care of items such as mail queues.  If a value of undef is given, no dequeue processes will be
           started.

CONFIGURATION FILE

       See Net::Server.

PROCESS FLOW

       Process flow follows Net::Server until the post_accept phase.  At this point a child is forked.  The
       parent is immediately able to wait for another request.  The child handles the request and then exits.

HOOKS

       The Fork server has the following hooks in addition to the hooks provided by the Net::Server base class.
       See Net::Server

       "$self->pre_accept_hook()"
           This hook occurs just before the accept is called.

       "$self->post_accept_hook()"
           This hook occurs in the child after the accept and fork.

       "$self->run_dequeue()"
           This hook only gets called in conjunction with the check_for_dequeue setting.

HOT DEPLOY

       Since version 2.000, the Fork server has accepted the TTIN and TTOU signals.  When a TTIN is received,
       the max_servers is increased by 1.  If a TTOU signal is received the max_servers is decreased by 1.  This
       allows for adjusting the number of handling processes without having to restart the server.

AUTHOR

       Paul Seamons <paul@seamons.com>

       Rob Brown <bbb@cpan.org>

SEE ALSO

       Please see also Net::Server::INET, Net::Server::PreFork, Net::Server::MultiType, Net::Server::SIG
       Net::Server::Single