Daemon::Generic::While1 - Daemon framework with default while(1) loop
@ISA = qw(Daemon::Generic::While1);
sub gd_run_body { # stuff }
This is a slight variation on the Daemon::Generic manpage: a default
gd_run() provided. It has a while(1) loop that calls
gd_run_body() over and over. It checks for reconifg and
and terminate events and only actions them between calls
to gd_run_body().
Terminate events will be forced through after
$Daemon::Generic::force_quit_delay seconds if
gd_run_body() doesn't return quickly enough.
The following method is required to be overridden to subclass Daemon::Generic::While1:
gd_run_body()
This method will be called over and over. This method should
include a call to sleep(1) (or a bit more). Reconfig events
will not interrupt it. Quit events will only interrupt it
after 15 seconds.
The following additional methods are available for your use (as compared to the Daemon::Generic manpage):
gd_sleep($period)
This will sleep for $period seconds but in one-second
intervals so that if a SIGINT or SIGHUP arrives the sleep
period can end more quickly.
Using this makes it safe for gd_run_body() to sleep for
longer than $Daemon::Generic::force_quit_delay seconds
at a time.
The following additional bits of member data are defined:
The time at which an (unprocessed) SIGINT was recevied.
The time at which an (unprocessed) SIGHUP was recevied.
If you need high-speed internet services (T1, T3, OC3 etc), please send me your request-for-quote. I have access to very good pricing: you'll save money and get a great service.
Copyright(C) 2006 David Muir Sharnoff <muir@idiom.com>. This module may be used and distributed on the same terms as Perl itself.