From c45a22e6d6749d3ede2c9498f099e236c182f1bb Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 20 Feb 2022 15:35:27 +0100 Subject: [PATCH] mxqd: Simplify reexec Currently argv is converted to a string and back to an array before mxqd reexecs itself. Use the original argv instead. Difference is, that options are not included in the informational messages. --- mxqd.c | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/mxqd.c b/mxqd.c index 9b725f35..21ee9b80 100644 --- a/mxqd.c +++ b/mxqd.c @@ -2874,27 +2874,12 @@ int main(int argc, char *argv[]) server_close(server); while (global_sigrestart_cnt) { - _mx_cleanup_free_ char *saved_argv_str = NULL; - char **saved_argv; - - saved_argv_str = mx_strvec_to_str(argv); - - mx_log_info("Reexecuting mxqd... "); - - saved_argv = mx_strvec_from_str(saved_argv_str); - if (!saved_argv) { - mx_log_fatal("Can't recaculate commandline. str_to_strvev(%s) failed: %m", saved_argv_str); - break; - } - mx_log_info("-------------------------------------------------------------"); - mx_log_info(" Reexecuting %s", saved_argv_str); + mx_log_info(" Reexecuting %s", argv[0]); mx_log_info("-------------------------------------------------------------"); - - res = execvp(saved_argv[0], saved_argv); - mx_log_fatal("execvp(\"%s\", ...): %m", saved_argv[0]); + res = execvp(argv[0], argv); + mx_log_fatal("execvp(\"%s\", ...): %m", argv[0]); break; - } mx_log_info("cu, mx.");