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 Daemon::Generic: 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
Daemon::Generic):
- 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:
- gd_sigint
- The time at which an (unprocessed) SIGINT was received.
- gd_sighup
- The time at which an (unprocessed) SIGHUP was received.
Copyright (C) 2006-2010 David Muir Sharnoff <muir@idiom.com>. Copyright
(C) 2011 Google, Inc. This module may be used and distributed on the same
terms as Perl itself.