logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Daemon::Generic::While1 - Daemon framework with default while(1) loop

Additional Member Data

       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.

Additional Methods

       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.

Description

       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.

License

       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.

perl v5.34.0                                       2022-06-12                       Daemon::Generic::While1(3pm)

Name

        Daemon::Generic::While1 - Daemon framework with default while(1) loop

Subclass Methods Requird

       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.

Synopsis

        @ISA = qw(Daemon::Generic::While1);

        sub gd_run_body {
               # stuff
        }

See Also