From 487b14b6ae39f05d5ba32085f7192ea381ca6fa0 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Sat, 26 Nov 2016 05:28:58 +0100 Subject: [PATCH] monitor: log which pipe fd is currently used Signed-off-by: Christian Brauner --- src/lxc/monitor.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/lxc/monitor.c b/src/lxc/monitor.c index fab6f5568..1afaa5ae2 100644 --- a/src/lxc/monitor.c +++ b/src/lxc/monitor.c @@ -284,11 +284,13 @@ int lxc_monitor_read(int fd, struct lxc_msg *msg) /* Used to spawn a monitord either on startup of a daemon container, or when * lxc-monitor starts. */ +#define __INT_LEN 21 int lxc_monitord_spawn(const char *lxcpath) { - pid_t pid1, pid2; + int ret; int pipefd[2]; - char pipefd_str[11]; + char pipefd_str[__INT_LEN]; + pid_t pid1, pid2; char *const args[] = { LXC_MONITORD_PATH, @@ -308,6 +310,7 @@ int lxc_monitord_spawn(const char *lxcpath) DEBUG("Going to wait for pid %d.", pid1); if (waitpid(pid1, NULL, 0) != pid1) return -1; + DEBUG("Finished waiting on pid %d.", pid1); return 0; } @@ -351,7 +354,11 @@ int lxc_monitord_spawn(const char *lxcpath) close(pipefd[0]); - sprintf(pipefd_str, "%d", pipefd[1]); + ret = snprintf(pipefd_str, __INT_LEN, "%d", pipefd[1]); + if (ret < 0 || ret >= __INT_LEN) + exit(EXIT_FAILURE); + + DEBUG("Using pipe file descriptor %d for monitord.", pipefd[1]); execvp(args[0], args); -- 2.47.2