diff options
Diffstat (limited to 'lib/libfrr.c')
| -rw-r--r-- | lib/libfrr.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/libfrr.c b/lib/libfrr.c index 9e472054dd..03025328b7 100644 --- a/lib/libfrr.c +++ b/lib/libfrr.c @@ -319,7 +319,12 @@ void frr_preinit(struct frr_daemon_info *daemon, int argc, char **argv) char *p = strrchr(argv[0], '/'); di->progname = p ? p + 1 : argv[0]; - umask(0027); + if (!getenv("GCOV_PREFIX")) + umask(0027); + else { + /* If we are profiling use a more generous umask */ + umask(0002); + } log_args_init(daemon->early_logging); @@ -957,8 +962,6 @@ static void frr_daemonize(void) } close(fds[1]); - nb_terminate(); - yang_terminate(); frr_daemon_wait(fds[0]); } @@ -1447,3 +1450,12 @@ void _libfrr_version(void) write(1, banner, sizeof(banner) - 1); _exit(0); } + +/* Render simple version tuple to string */ +const char *frr_vers2str(uint32_t version, char *buf, int buflen) +{ + snprintf(buf, buflen, "%d.%d.%d", MAJOR_FRRVERSION(version), + MINOR_FRRVERSION(version), SUB_FRRVERSION(version)); + + return buf; +} |
