]> source.dussan.org Git - tigervnc.git/commitdiff
Fully standardise on send()/recv()
authorPierre Ossman <ossman@cendio.se>
Wed, 8 Nov 2017 14:59:42 +0000 (15:59 +0100)
committerPierre Ossman <ossman@cendio.se>
Wed, 8 Nov 2017 14:59:42 +0000 (15:59 +0100)
We already assume sockets here since we use select().

common/rdr/FdInStream.cxx
common/rdr/FdOutStream.cxx

index a8b30857b937feb9cdc8ce26ec7d5895e35fd6cf..011ebf41f9be96d00cfde85c7fc0b1f151a1b34b 100644 (file)
 #include <sys/time.h>
 #ifdef _WIN32
 #include <winsock2.h>
-#define read(s,b,l) recv(s,(char*)b,l,0)
 #define close closesocket
 #undef errno
 #define errno WSAGetLastError()
 #include <os/winerrno.h>
 #else
 #include <sys/types.h>
+#include <sys/socket.h>
 #include <unistd.h>
 #endif
 
@@ -165,9 +165,9 @@ int FdInStream::overrun(int itemSize, int nItems, bool wait)
 // blockCallback is set, it will be called (repeatedly) instead of blocking.
 // If alternatively there is a timeout set and that timeout expires, it throws
 // a TimedOut exception.  Otherwise it returns the number of bytes read.  It
-// never attempts to read() unless select() indicates that the fd is readable -
+// never attempts to recv() unless select() indicates that the fd is readable -
 // this means it can be used on an fd which has been set non-blocking.  It also
-// has to cope with the annoying possibility of both select() and read()
+// has to cope with the annoying possibility of both select() and recv()
 // returning EINTR.
 //
 
@@ -207,7 +207,7 @@ int FdInStream::readWithTimeoutOrCallback(void* buf, int len, bool wait)
   }
 
   do {
-    n = ::read(fd, buf, len);
+    n = ::recv(fd, (char*)buf, len, 0);
   } while (n < 0 && errno == EINTR);
 
   if (n < 0) throw SystemException("read",errno);
index 8fe9df94bcd51a79b37939c98028f5273d4cf79e..cf857f851b882001d7928b007efcdcb9ad581120 100644 (file)
@@ -27,7 +27,6 @@
 #include <errno.h>
 #ifdef _WIN32
 #include <winsock2.h>
-#define write(s,b,l) send(s,(const char*)b,l,0)
 #undef errno
 #define errno WSAGetLastError()
 #include <os/winerrno.h>
@@ -161,10 +160,10 @@ int FdOutStream::overrun(int itemSize, int nItems)
 // writeWithTimeout() writes up to the given length in bytes from the given
 // buffer to the file descriptor.  If there is a timeout set and that timeout
 // expires, it throws a TimedOut exception.  Otherwise it returns the number of
-// bytes written.  It never attempts to write() unless select() indicates that
+// bytes written.  It never attempts to send() unless select() indicates that
 // the fd is writable - this means it can be used on an fd which has been set
 // non-blocking.  It also has to cope with the annoying possibility of both
-// select() and write() returning EINTR.
+// select() and send() returning EINTR.
 //
 
 int FdOutStream::writeWithTimeout(const void* data, int length, int timeoutms)