[Date Prev]   [Date Next] [Thread Prev]   [Thread Next] [Date Index]   [Thread Index]

 

     Re: [nocol-users] auto-updat

if that's an issue you can do a comparison on the variables pretty easily.
You can also seek through the hash with something like...
foreach(keys(%whateverthevariableisimnotgoingtocheck)) {
  my($original) = split(/\t/);
  if ($original eq $new) { 
    if ($_ ne $newvariablehashreference) { &init(blah); }
  }
}

> Because if you changed any of the configuration information about it;
> those changes would get ignored.
> 
> On Tue, Dec 01, 1998 at 02:47:49PM -0500, Jonathan A. Zdziarski said:
> > why not just use a "if defined" on the hash, and don't re-init it if
> > it's already there.
> > 
> > On Tue, 1 Dec 1998, steve rader wrote:
> > 
> > >  > From: Steve Mickeler
> > >  > Is there a way to get nocol to auto-detect any changed in the config files
> > >  > such as portmon-confg or ippingmon-confg so it can start/stop monitoring
> > >  > new stuff as needed ?
> > > 
> > > I did some work on "reconfig ippingmon with kill -HUP"
> > > fix recently.  Patches for v4.2beta5 are enclosed fwiw.
> > > 
> > > Note well: my #define __USE_BSD_SIGNAL is a bone-headed
> > > linux specific hack that should be made portable!
> > > 
> > > But even worse, these patches don't "intelligently" restart
> > > ippingmon: doing a kill -HUP with variables at the critical
> > > level causes the variables to go back to the warning level.
> > > This, in turn, causes problems with my up/down reporting
> > > with doing really frequent reconfigurations with large
> > > polling intervals.
> > > 
> > > So it would be wonderful if someone would solve this
> > > problem by writing reinit_sites() or somesuch for pingmon.
> > > I'll probably do it (some day this spring?) if no one
> > > else does.
> > > 
> > > steve
> > > -- -- -- --
> > > Steve Rader
> > > Systems and Network Manager
> > > WiscNet--Internetworking for Wisconsin
> > > rader@wiscnet.net
> > > bash: syntax error near unexpected token `=:)'
> > > 
> > > -- cut here --
> > > *** lib/misc.c.orig     Thu Mar 20 23:04:02 1997
> > > --- lib/misc.c  Tue Nov 10 14:49:55 1998
> > > ***************
> > > *** 36,41 ****
> > > --- 36,42 ----
> > >   #include "nocol.h"
> > >   
> > >   #include <stdio.h>
> > > + #define __USE_BSD_SIGNAL
> > >   #include <signal.h>                           /* signal numbers       */
> > >   #include <sys/file.h>
> > >   #include <errno.h>
> > > ***************
> > > *** 50,56 ****
> > >   nocol_startup(pconfigfile, pdatafile)
> > >        char **pconfigfile, **pdatafile;
> > >   {
> > > !     void nocol_done(), usr1_handler();
> > >       char *s ;
> > >   
> > >       if ((s = (char *)strrchr(prognm, '/')) != NULL)
> > > --- 51,57 ----
> > >   nocol_startup(pconfigfile, pdatafile)
> > >        char **pconfigfile, **pdatafile;
> > >   {
> > > !     void nocol_done(), usr1_handler(), nocol_reload();
> > >       char *s ;
> > >   
> > >       if ((s = (char *)strrchr(prognm, '/')) != NULL)
> > > ***************
> > > *** 101,113 ****
> > >       bsdsignal (SIGQUIT, nocol_done);
> > >       bsdsignal (SIGTERM, nocol_done);
> > >       bsdsignal (SIGINT,  nocol_done);
> > > !     bsdsignal (SIGHUP,  nocol_done);
> > >       bsdsignal (SIGUSR1, usr1_handler);
> > >   #else
> > >       signal (SIGQUIT, nocol_done);     /* Delete pid/data file while dying */
> > >       signal (SIGTERM, nocol_done);
> > >       signal (SIGINT,  nocol_done);
> > > !     signal (SIGHUP,  nocol_done);
> > >       signal (SIGUSR1, usr1_handler);   /* toggles debug */
> > >   #endif
> > >   
> > > --- 102,114 ----
> > >       bsdsignal (SIGQUIT, nocol_done);
> > >       bsdsignal (SIGTERM, nocol_done);
> > >       bsdsignal (SIGINT,  nocol_done);
> > > !     bsdsignal (SIGHUP,  nocol_reload);
> > >       bsdsignal (SIGUSR1, usr1_handler);
> > >   #else
> > >       signal (SIGQUIT, nocol_done);     /* Delete pid/data file while dying */
> > >       signal (SIGTERM, nocol_done);
> > >       signal (SIGINT,  nocol_done);
> > > !     signal (SIGHUP,  nocol_reload);
> > >       signal (SIGUSR1, usr1_handler);   /* toggles debug */
> > >   #endif
> > >   
> > > -- cut here --
> > > 
> > > -- cut here --
> > > *** pingmon/pingmon.c.orig      Mon Mar 31 00:25:22 1997
> > > --- pingmon/pingmon.c   Tue Nov 10 15:01:13 1998
> > > ***************
> > > *** 37,42 ****
> > > --- 37,43 ----
> > >   
> > >   #include <string.h>                   /* For strcat() definitions     */
> > >   #include <sys/file.h>
> > > + #define __USE_BSD_SIGNAL
> > >   #include <signal.h>                   /* For signal numbers           */
> > >   
> > >   /*+ 
> > > ***************
> > > *** 197,202 ****
> > > --- 198,207 ----
> > >       char record[MAXLINE];
> > >       struct tm *loctime ;
> > >       time_t locclock ;                 /* Careful, don't use 'long'    */
> > > +     
> > > +     if (debug) {
> > > +       fprintf(stderr, "reading config file\n");
> > > +     }
> > >   
> > >       if ((p_nodes = fopen(configfile, "r")) == NULL)
> > >       {
> > > ***************
> > > *** 278,284 ****
> > > --- 283,300 ----
> > >   
> > >       }                                 /* end: while                   */
> > >       fclose (p_nodes);                 /* Not needed any more          */    
> > > +     if (debug) {
> > > +       fprintf(stderr, "done reading config file\n");
> > > +     }
> > >       return(1);                                /* All OK                       */
> > >   
> > >   }     /* end:  init_sites()   */
> > > + 
> > > + nocol_reload ( ) {
> > > +     int       fdout = 0;                      /* File desc for output data file */
> > > +     if (debug) { fprintf(stderr,"cought HUP... reloading...\n"); }
> > > +     fdout = open(datafile, O_RDWR|O_CREAT|O_TRUNC, DATAFILE_MODE);
> > > +     init_sites(fdout, configfile);
> > > +     return(1);
> > > + }
> > > 
> > > -- cut here --
> > > 
> > 
> > Thank you,
> > 
> > Jonathan A. Zdziarski
> > Sr. Systems Administrator
> > Netrail, inc. 
> > 888.NET.RAIL x240
> 
> -- 
> Michael Douglass
> Texas Networking, Inc.
> 
>   Any sufficiently advanced bug is indistinguishable for a feature.
>     -- from some indian guy
> 

Thank you,

Jonathan A. Zdziarski
Sr. Systems Administrator
Netrail, inc. 
888.NET.RAIL x240