From 2477fdf577e347bd5415f62f6dc235a60657a7e5 Mon Sep 17 00:00:00 2001 From: ivo Date: Thu, 1 Mar 2007 14:57:44 +0000 Subject: winsocks expects an int in milliseconds instead of struct timeval to set the timeout of a socket patch by Zuxy Meng, zuxy dot meng ... gmailcom git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22397 b3059339-0415-0410-9bf9-f77b7e298cf2 --- stream/tcp.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'stream') diff --git a/stream/tcp.c b/stream/tcp.c index ad7e1d9398..297f6901fe 100644 --- a/stream/tcp.c +++ b/stream/tcp.c @@ -77,6 +77,9 @@ connect2Server_with_af(char *host, int port, int af,int verb) { #ifdef HAVE_WINSOCK2 u_long val; + int to; +#else + struct timeval to; #endif socket_server_fd = socket(af, SOCK_STREAM, 0); @@ -88,10 +91,15 @@ connect2Server_with_af(char *host, int port, int af,int verb) { } #if defined(SO_RCVTIMEO) && defined(SO_SNDTIMEO) - tv.tv_sec = 10; - tv.tv_usec = 0; - setsockopt(socket_server_fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); - setsockopt(socket_server_fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)); +#ifdef HAVE_WINSOCK2 + /* timeout in milliseconds */ + to = 10 * 1000; +#else + to.tv_sec = 10; + to.tv_usec = 0; +#endif + setsockopt(socket_server_fd, SOL_SOCKET, SO_RCVTIMEO, &to, sizeof(to)); + setsockopt(socket_server_fd, SOL_SOCKET, SO_SNDTIMEO, &to, sizeof(to)); #endif switch (af) { -- cgit v1.2.3