From 0b7a0030acc27377b01e3afa41f672dc4d6a7561 Mon Sep 17 00:00:00 2001 From: dscho Date: Tue, 10 Jan 2006 14:07:58 +0000 Subject: rfbProcessEvents() has to iterate also over clients with sock < 0 to close them --- libvncserver/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libvncserver/main.c') diff --git a/libvncserver/main.c b/libvncserver/main.c index 352a00e..51f9f2f 100644 --- a/libvncserver/main.c +++ b/libvncserver/main.c @@ -904,6 +904,8 @@ rfbProcessEvents(rfbScreenInfoPtr screen,long usec) rfbClientPtr cl,clPrev; struct timeval tv; rfbBool result=FALSE; + extern rfbClientIteratorPtr + rfbGetClientIteratorWithClosed(rfbScreenInfoPtr rfbScreen); if(usec<0) usec=screen->deferUpdateTime*1000; @@ -914,7 +916,7 @@ rfbProcessEvents(rfbScreenInfoPtr screen,long usec) corbaCheckFds(screen); #endif - i = rfbGetClientIterator(screen); + i = rfbGetClientIteratorWithClosed(screen); cl=rfbClientIteratorHead(i); while(cl) { if (cl->sock >= 0 && !cl->onHold && FB_UPDATE_PENDING(cl) && -- cgit v1.2.1