From: David Lamparter Date: Wed, 23 Aug 2017 14:23:17 +0000 (+0200) Subject: lib: fix cosmetic issue with exit race X-Git-Tag: frr-4.0-dev~378^2~7 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=6bd2b3608d6dc1eca171c30916f029f6f867db6b;p=matthieu%2Ffrr.git lib: fix cosmetic issue with exit race if we're using --terminal, the daemon may in some cases exit fast enough for the parent to see this; this resulted in a confusing/bogus "failed to start, exited 0" message. Signed-off-by: David Lamparter --- diff --git a/lib/libfrr.c b/lib/libfrr.c index c3ef04c673..9944fdd1e1 100644 --- a/lib/libfrr.c +++ b/lib/libfrr.c @@ -641,7 +641,10 @@ static void frr_daemon_wait(int fd) exit(0); /* child failed one way or another ... */ - if (WIFEXITED(exitstat)) + if (WIFEXITED(exitstat) && WEXITSTATUS(exitstat) == 0) + /* can happen in --terminal case if exit is fast enough */ + (void)0; + else if (WIFEXITED(exitstat)) fprintf(stderr, "%s failed to start, exited %d\n", di->name, WEXITSTATUS(exitstat)); else if (WIFSIGNALED(exitstat))