diff options
Diffstat (limited to 'sesman/sesman.c')
| -rw-r--r-- | sesman/sesman.c | 19 | 
1 files changed, 9 insertions, 10 deletions
| 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);          } | 
