From 3f2a017c974c6ff0e0fbd8311cb720ae3bf8ba73 Mon Sep 17 00:00:00 2001 From: matt335672 <30179339+matt335672@users.noreply.github.com> Date: Wed, 27 Dec 2017 15:00:18 +0000 Subject: Make listen check before daemon fork --- sesman/sesman.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'sesman') diff --git a/sesman/sesman.c b/sesman/sesman.c index fd98370c..609670af 100644 --- a/sesman/sesman.c +++ b/sesman/sesman.c @@ -343,18 +343,17 @@ main(int argc, char **argv) if (daemon) { /* start of daemonizing code */ - g_pid = g_fork(); + if (sesman_listen_test(g_cfg) != 0) + { - if (0 != g_pid) - { - if (sesman_listen_test(g_cfg) != 0) - { + log_message(LOG_LEVEL_ERROR, "Failed to start xrdp-sesman daemon, " + "possibly address already in use."); + g_deinit(); + g_exit(1); + } - log_message(LOG_LEVEL_ERROR, "Failed to start xrdp-sesman daemon, " - "possibly address already in use."); - g_deinit(); - g_exit(1); - } + if (0 != g_fork()) + { g_deinit(); g_exit(0); } -- cgit v1.2.1