From e673a125dfb29455ba73965e20defdbd732dc01b Mon Sep 17 00:00:00 2001 From: dscho Date: Thu, 22 Dec 2005 00:07:19 +0000 Subject: make compile again with pthreads; fix off-by-one error --- libvncserver/rfbserver.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libvncserver') diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c index e60aadc..7c620c8 100644 --- a/libvncserver/rfbserver.c +++ b/libvncserver/rfbserver.c @@ -435,7 +435,8 @@ rfbClientConnectionGone(rfbClientPtr cl) #endif #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD - if(cl->screen->backgroundLoop != FALSE) + if(cl->screen->backgroundLoop != FALSE) { + int i; do { LOCK(cl->refCountMutex); i=cl->refCount; @@ -443,6 +444,7 @@ rfbClientConnectionGone(rfbClientPtr cl) if(i>0) WAIT(cl->deleteCond,cl->refCountMutex); } while(i>0); + } #endif UNLOCK(rfbClientListMutex); @@ -547,7 +549,7 @@ rfbProcessClientProtocolVersion(rfbClientPtr cl) pv[sz_rfbProtocolVersionMsg] = 0; if (sscanf(pv,rfbProtocolVersionFormat,&major_,&minor_) != 2) { char name[1024]; - if(sscanf(pv,"RFB %03d.%03d %1024s\n",&major_,&minor_,name) != 3) { + if(sscanf(pv,"RFB %03d.%03d %1023s\n",&major_,&minor_,name) != 3) { rfbErr("rfbProcessClientProtocolVersion: not a valid RFB client\n"); rfbCloseClient(cl); return; -- cgit v1.2.3