send(sb.sb_socket, sb.sb_buf, i, 0);
// set timeout
- struct timeval tv;
- memset(&tv, 0, sizeof(tv));
- tv.tv_sec = 5;
+ SET_RCVTIMEO(tv, 5);
if (setsockopt
(sb.sb_socket, SOL_SOCKET, SO_RCVTIMEO, (char *) &tv, sizeof(tv)))
{
return false;
}
// set timeout
- struct timeval tv;
- memset(&tv, 0, sizeof(tv));
- tv.tv_sec = r->Link.timeout;
+ SET_RCVTIMEO(tv, r->Link.timeout);
if (setsockopt
(r->m_socket, SOL_SOCKET, SO_RCVTIMEO, (char *) &tv, sizeof(tv)))
{
Log(LOGERROR, "%s, Setting socket timeout to %ds failed!",
- __FUNCTION__, tv.tv_sec);
+ __FUNCTION__, r->Link.timeout);
}
}
else
#define sleep(n) Sleep(n*1000)
#define msleep(n) Sleep(n)
#define socklen_t int
+#define SET_RCVTIMEO(tv,s) int tv = s*1000
#else
#include <sys/types.h>
#include <sys/socket.h>
#define GetSockError() errno
#define closesocket(s) close(s)
#define msleep(n) usleep(n*1000)
+#define SET_RCVTIMEO(tv,s) struct timeval tv; tv.tv_sec = s; tv.tv_usec = 0
#endif
#include <errno.h>