--- crond.c | 40 +++++++++++----------------------------- 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/crond.c b/crond.c index 7974b1f..ca339ea 100644 --- a/crond.c +++ b/crond.c _AT_@ -73,18 +73,6 @@ loginfo(const char *fmt, ...) } static void -logwarn(const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - if (nflag == 0) - vsyslog(LOG_WARNING, fmt, ap); - else - vfprintf(stderr, fmt, ap); - va_end(ap); -} - -static void logerr(const char *fmt, ...) { va_list ap; _AT_@ -391,7 +379,7 @@ freecte(struct ctabentry *cte, int nfields) } static void -unloadentries(void) +unloadentries(struct ctabentry *ctab) { struct ctabentry *cte, *tmp; _AT_@ -399,13 +387,12 @@ unloadentries(void) tmp = cte->next; freecte(cte, 6); } - ctab = NULL; } static int loadentries(void) { - struct ctabentry *cte; + struct ctabentry *cte, *newctab = NULL; FILE *fp; char *line = NULL, *p, *col; int r = 0, y; _AT_@ -478,12 +465,16 @@ loadentries(void) r = -1; break; } - cte->next = ctab; - ctab = cte; + cte->next = newctab; + newctab = cte; } - if (r < 0) - unloadentries(); + if (r < 0) { + unloadentries(newctab); + } else { + unloadentries(ctab); + ctab = newctab; + } free(line); fclose(fp); _AT_@ -492,14 +483,6 @@ loadentries(void) } static void -reloadentries(void) -{ - unloadentries(); - if (loadentries() < 0) - logwarn("warning: discarding old crontab entries\n"); -} - -static void sighandler(int sig) { switch (sig) { _AT_@ -576,14 +559,13 @@ main(int argc, char *argv[]) if (quit == 1) { if (nflag == 0) unlink(pidfile); - unloadentries(); /* Don't wait or kill forked processes, just exit */ break; } if (reload == 1 || chldreap == 1) { if (reload == 1) { - reloadentries(); + loadentries(); reload = 0; } if (chldreap == 1) { -- 2.13.2Received on Tue Jul 11 2017 - 06:55:42 CEST
This archive was generated by hypermail 2.3.0 : Tue Jul 11 2017 - 07:01:45 CEST