summaryrefslogtreecommitdiffstats
path: root/libvncserver/rfbserver.c
diff options
context:
space:
mode:
authorChristian Beier <dontmind@freeshell.org>2011-01-24 23:32:24 +0100
committerChristian Beier <dontmind@freeshell.org>2011-02-07 13:50:47 +0100
commit9f49600787e99b6d1dc0c52afe1647ef3429cc7b (patch)
tree7ad190e1005543cdde1aaabb86f0f25f9673d427 /libvncserver/rfbserver.c
parent67b16cdf9099653bc19b01e628036f99729eb2f9 (diff)
downloadlibtdevnc-9f49600787e99b6d1dc0c52afe1647ef3429cc7b.tar.gz
libtdevnc-9f49600787e99b6d1dc0c52afe1647ef3429cc7b.zip
libvncserver: Make RRE, CoRRE and Ultra encodings thread-safe.
This adds generic before/after encoding buffers to the rfbClient struct, so there is no need for thread local storage. Signed-off-by: Christian Beier <dontmind@freeshell.org>
Diffstat (limited to 'libvncserver/rfbserver.c')
-rw-r--r--libvncserver/rfbserver.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c
index 8d6ae0c..554c118 100644
--- a/libvncserver/rfbserver.c
+++ b/libvncserver/rfbserver.c
@@ -486,6 +486,10 @@ rfbClientConnectionGone(rfbClientPtr cl)
rfbFreeUltraData(cl);
+ /* free buffers holding pixel data before and after encoding */
+ free(cl->beforeEncBuf);
+ free(cl->afterEncBuf);
+
#ifdef LIBVNCSERVER_HAVE_LIBPTHREAD
if(cl->screen->backgroundLoop != FALSE) {
int i;