summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorilsimo <ilsimo>2007-02-17 19:54:30 +0000
committerilsimo <ilsimo>2007-02-17 19:54:30 +0000
commit5260d224dc61868b72a47a5cf3138d22fca30eed (patch)
treea6dd2317453f91a28f32bb06a4fbb6788da71cf6
parentb8cfd8cd707a6a60d35247c31a1fabfecd1ef891 (diff)
downloadxrdp-proprietary-5260d224dc61868b72a47a5cf3138d22fca30eed.tar.gz
xrdp-proprietary-5260d224dc61868b72a47a5cf3138d22fca30eed.zip
fixing sone really stupid deadlocks occurring if there is some network error
-rw-r--r--sesman/tcp.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sesman/tcp.c b/sesman/tcp.c
index 58cedd43..36ea4670 100644
--- a/sesman/tcp.c
+++ b/sesman/tcp.c
@@ -49,11 +49,17 @@ tcp_force_recv(int sck, char* data, int len)
}
else
{
+#ifndef LIBSCP_CLIENT
+ lock_fork_critical_section_end(block);
+#endif
return 1;
}
}
else if (rcvd == 0)
{
+#ifndef LIBSCP_CLIENT
+ lock_fork_critical_section_end(block);
+#endif
return 1;
}
else
@@ -92,11 +98,17 @@ tcp_force_send(int sck, char* data, int len)
}
else
{
+#ifndef LIBSCP_CLIENT
+ lock_fork_critical_section_end(block);
+#endif
return 1;
}
}
else if (sent == 0)
{
+#ifndef LIBSCP_CLIENT
+ lock_fork_critical_section_end(block);
+#endif
return 1;
}
else