Linux has an idea of process name that is visible in /proc/$pid/comm. This is "ovs-vswitchd" for a freshly started ovs-vswitchd process. When the monitor code restarted a crash child, it changed it to the empty string. This confused the daemon_is_running check in ovs-lib.in, which checks comm. This commit fixes the problem by setting the program name as comm in newly restarted children.
VMware-BZ: #2191724 Signed-off-by: Ben Pfaff <[email protected]> --- lib/daemon-unix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/daemon-unix.c b/lib/daemon-unix.c index 3ad1c62889cf..6169763c294c 100644 --- a/lib/daemon-unix.c +++ b/lib/daemon-unix.c @@ -428,7 +428,7 @@ monitor_daemon(pid_t daemon_pid) /* Running in new daemon process. */ ovs_cmdl_proctitle_restore(); - set_subprogram_name(""); + set_subprogram_name(program_name); } /* If daemonization is configured, then starts daemonization, by forking and -- 2.16.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
