From f582d7fec0ec3944f4d345a59a5706cf81125386 Mon Sep 17 00:00:00 2001 From: jwatkins42 Date: Tue, 2 Dec 2014 21:01:52 -0800 Subject: [PATCH 1/2] Removed duplicate socket initialization and corrected timeout values. --- C/src/xplaneConnect.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index 03a8361..7cd7a94 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -140,8 +140,6 @@ struct xpcSocket openUDP(unsigned short port_number, const char *xpIP, unsigned } #elif (__APPLE__ || __linux) // Create a SOCKET - theSocket.sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); - if ((theSocket.sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) { perror((char*) "ERROR: openUDP- "); @@ -164,11 +162,11 @@ struct xpcSocket openUDP(unsigned short port_number, const char *xpIP, unsigned int msTimeOut = 500; #ifdef _WIN32 - DWORD msTimeOutWin = 1; + DWORD msTimeOutWin = msTimeOut; setsockopt(theSocket.sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&msTimeOutWin, sizeof(msTimeOutWin)); #else tv.tv_sec = 0; /* Sec Timeout */ - tv.tv_usec = msTimeOut; // Microsec Timeout + tv.tv_usec = msTimeOut * 1000; // Microsec Timeout setsockopt(theSocket.sock, SOL_SOCKET, SO_RCVTIMEO, (char *) &tv, sizeof(struct timeval)); #endif From d70148b98d6302e4a62a65bc96cd25cfe6331363 Mon Sep 17 00:00:00 2001 From: jwatkins42 Date: Tue, 2 Dec 2014 21:32:45 -0800 Subject: [PATCH 2/2] Reverted timeout changes and added clarifying comment. --- C/src/xplaneConnect.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index 7cd7a94..04110ea 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -159,14 +159,14 @@ struct xpcSocket openUDP(unsigned short port_number, const char *xpIP, unsigned #endif //Set Timout - int msTimeOut = 500; + int usTimeOut = 500; #ifdef _WIN32 - DWORD msTimeOutWin = msTimeOut; + DWORD msTimeOutWin = 1; // Minimum socket timeout in Windows is 1ms setsockopt(theSocket.sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&msTimeOutWin, sizeof(msTimeOutWin)); #else tv.tv_sec = 0; /* Sec Timeout */ - tv.tv_usec = msTimeOut * 1000; // Microsec Timeout + tv.tv_usec = msTimeOut; // Microsec Timeout setsockopt(theSocket.sock, SOL_SOCKET, SO_RCVTIMEO, (char *) &tv, sizeof(struct timeval)); #endif