diff options
author | Jay Sorg <jay.sorg@gmail.com> | 2012-11-10 16:43:37 -0800 |
---|---|---|
committer | Jay Sorg <jay.sorg@gmail.com> | 2012-11-10 16:43:37 -0800 |
commit | d9765c0783032c1c043620d0bbc489b3a7294403 (patch) | |
tree | 52637bfc0d8200729d5b5226061af322ae53387e | |
parent | 0e111e64dec0e4b3b2c36d9d7b4b42994e5f498e (diff) | |
download | xrdp-proprietary-d9765c0783032c1c043620d0bbc489b3a7294403.tar.gz xrdp-proprietary-d9765c0783032c1c043620d0bbc489b3a7294403.zip |
fix for odd error when disconecting client
-rw-r--r-- | xrdp/xrdp_listen.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/xrdp/xrdp_listen.c b/xrdp/xrdp_listen.c index 5de6f51a..704fc214 100644 --- a/xrdp/xrdp_listen.c +++ b/xrdp/xrdp_listen.c @@ -388,10 +388,15 @@ xrdp_listen_main_loop(struct xrdp_listen *self) robjs[robjs_count++] = done_obj; timeout = -1; - if (trans_get_wait_objs(self->listen_trans, robjs, &robjs_count) != 0) + if (self->listen_trans != 0) { - g_writeln("Listening socket is in wrong state we terminate listener") ; - break; + if (trans_get_wait_objs(self->listen_trans, robjs, + &robjs_count) != 0) + { + g_writeln("Listening socket is in wrong state we " + "terminate listener"); + break; + } } /* wait - timeout -1 means wait indefinitely*/ @@ -406,7 +411,8 @@ xrdp_listen_main_loop(struct xrdp_listen *self) break; } - if (g_is_wait_obj_set(sync_obj)) /* some function must be processed by this thread */ + /* some function must be processed by this thread */ + if (g_is_wait_obj_set(sync_obj)) { g_reset_wait_obj(sync_obj); g_process_waiting_function(); /* run the function */ @@ -452,7 +458,8 @@ xrdp_listen_main_loop(struct xrdp_listen *self) g_sleep(100); } - if (g_is_wait_obj_set(sync_obj)) /* some function must be processed by this thread */ + /* some function must be processed by this thread */ + if (g_is_wait_obj_set(sync_obj)) { g_reset_wait_obj(sync_obj); g_process_waiting_function(); /* run the function that is waiting*/ |