diff --git a/bin/logger/src/vzlogger.c b/bin/logger/src/vzlogger.c index 0d9f7ea..c82aa96 100644 --- a/bin/logger/src/vzlogger.c +++ b/bin/logger/src/vzlogger.c @@ -129,7 +129,9 @@ void print(int level, const char *format, void *id, ... ) { va_end(args); /* print to stdout/stderr */ - fprintf((level > 0) ? stdout : stderr, "%s\n", buffer); + if (getppid() != 1) { + fprintf((level > 0) ? stdout : stderr, "%s\n", buffer); + } /* append to logfile */ if (options.logfd) { @@ -180,7 +182,7 @@ void show_usage(char *argv[]) { * @link http://www.enderunix.org/docs/eng/daemon.php */ void daemonize() { - if(getppid() == 1) { + if (getppid() == 1) { return; /* already a daemon */ } @@ -193,7 +195,6 @@ void daemonize() { } /* child (daemon) continues */ - setsid(); /* obtain a new process group */ for (i = getdtablesize(); i >= 0; --i) { diff --git a/src/sml.c b/src/sml.c index 74e2d6f..a9229d2 100644 --- a/src/sml.c +++ b/src/sml.c @@ -201,7 +201,12 @@ int meter_sml_open_socket(const char *node, const char *service) { return ERR; } - getaddrinfo(node, service, NULL, &ais); + int rc = getaddrinfo(node, service, NULL, &ais); + if (rc != 0) { + print(log_error, "getaddrinfo(%s, %s): %s", NULL, node, service, gai_strerror(rc)); + return ERR; + } + memcpy(&sin, ais->ai_addr, ais->ai_addrlen); freeaddrinfo(ais);