On Wed, May 04, 2022 at 04:09:41PM +0200, Theo Buehler wrote: > On Wed, May 04, 2022 at 04:03:21PM +0200, Claudio Jeker wrote: > > On Wed, May 04, 2022 at 03:51:02PM +0200, Theo Buehler wrote: > > > I had output from rpki-client -f something piped into less. After an > > > hour rpki-client couldn't take it any longer and decided to move on to > > > a better place. It also left a residue via syslog on its way out. I > > > don't think it should do that in file mode or offline mode: > > > > > > Index: main.c > > > =================================================================== > > > RCS file: /cvs/src/usr.sbin/rpki-client/main.c,v > > > retrieving revision 1.201 > > > diff -u -p -r1.201 main.c > > > --- main.c 4 May 2022 13:07:35 -0000 1.201 > > > +++ main.c 4 May 2022 13:46:13 -0000 > > > @@ -689,7 +689,7 @@ process_start(const char *title, int *fd > > > /* change working directory to the cache directory */ > > > if (fchdir(cachefd) == -1) > > > err(1, "fchdir"); > > > - if (timeout) > > > + if (!noop && timeout > 0) > > > alarm(timeout); > > > close(pair[1]); > > > *fd = pair[0]; > > > @@ -923,7 +923,7 @@ main(int argc, char *argv[]) > > > rrdppid = -1; > > > } > > > > > > - if (timeout) { > > > + if (!noop && timeout > 0) { > > > /* > > > * Commit suicide eventually > > > * cron will normally start a new one > > > > > > > I agree that the alarm should not be armed for -f mode but I would keep it > > for -n mode. At least I think the timeout protects also from excessive > > work in case the cache was provided through other means. > > Alright - I was going back and forth between two diffs. Let's go with > the more cautious one, then: > > Index: main.c > =================================================================== > RCS file: /cvs/src/usr.sbin/rpki-client/main.c,v > retrieving revision 1.201 > diff -u -p -r1.201 main.c > --- main.c 4 May 2022 13:07:35 -0000 1.201 > +++ main.c 4 May 2022 14:04:51 -0000 > @@ -689,7 +689,7 @@ process_start(const char *title, int *fd > /* change working directory to the cache directory */ > if (fchdir(cachefd) == -1) > err(1, "fchdir"); > - if (timeout) > + if (!filemode && timeout > 0) > alarm(timeout); > close(pair[1]); > *fd = pair[0]; > @@ -923,7 +923,7 @@ main(int argc, char *argv[]) > rrdppid = -1; > } > > - if (timeout) { > + if (!filemode && timeout > 0) { > /* > * Commit suicide eventually > * cron will normally start a new one >
OK. -- :wq Claudio