[Date Prev] [Date Next] | [Thread Prev] [Thread Next] | [Date Index] [Thread Index] |
Re: [nocol-users] auto-updat
|
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 |