From c0373e9cd48b0fc22ac295fdab51a29e3df7a0cd Mon Sep 17 00:00:00 2001 From: Christian Beier Date: Tue, 7 Sep 2010 17:43:58 +0200 Subject: Non-blocking sockets for Windows. Expands the SetNonBlocking() function in libvncclient/sockets.c to also work under Windows and also changes it to honour maybe already present socket flags. A similar function was introduced for libvncserver as well and all the #ifdef'ed fnctl calls replaced with calls to that one. Signed-off-by: Christian Beier --- libvncserver/rfbserver.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'libvncserver/rfbserver.c') diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c index 471dac3..5f8d22a 100644 --- a/libvncserver/rfbserver.c +++ b/libvncserver/rfbserver.c @@ -299,13 +299,10 @@ rfbNewTCPOrUDPClient(rfbScreenInfoPtr rfbScreen, } rfbReleaseClientIterator(iterator); -#ifndef WIN32 - if (fcntl(sock, F_SETFL, O_NONBLOCK) < 0) { - rfbLogPerror("fcntl failed"); + if(!rfbSetNonBlocking(sock)) { close(sock); return NULL; } -#endif if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char *)&one, sizeof(one)) < 0) { -- cgit v1.2.3