Daemon::Generic::While1(3pm) User Contributed Perl Documentation Daemon::Generic::While1(3pm)

 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:

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):

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 received.
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.

2022-06-12 perl v5.34.0