[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 |