summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2012-11-10 16:43:37 -0800
committerJay Sorg <jay.sorg@gmail.com>2012-11-10 16:43:37 -0800
commitd9765c0783032c1c043620d0bbc489b3a7294403 (patch)
tree52637bfc0d8200729d5b5226061af322ae53387e
parent0e111e64dec0e4b3b2c36d9d7b4b42994e5f498e (diff)
downloadxrdp-proprietary-d9765c0783032c1c043620d0bbc489b3a7294403.tar.gz
xrdp-proprietary-d9765c0783032c1c043620d0bbc489b3a7294403.zip
fix for odd error when disconecting client
-rw-r--r--xrdp/xrdp_listen.c17
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*/