diff options
author | bertrand <bertrand@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-06-21 07:06:46 +0000 |
---|---|---|
committer | bertrand <bertrand@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-06-21 07:06:46 +0000 |
commit | 0b2ecf14e167f64a4d4b703175812862d9165895 (patch) | |
tree | 670ee86d73eed85b7788446d671b3414cb4ea82d /libmpdemux | |
parent | b40da6c55bc4d717371e19ccbeea698c0ee6d07b (diff) | |
download | mpv-0b2ecf14e167f64a4d4b703175812862d9165895.tar.bz2 mpv-0b2ecf14e167f64a4d4b703175812862d9165895.tar.xz |
Here I go again, another fix for the timeout.
Note that we shouldn't rely on the value of the timeval struct
after select returns.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6478 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/network.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libmpdemux/network.c b/libmpdemux/network.c index 1333aa6be0..d4393ba618 100644 --- a/libmpdemux/network.c +++ b/libmpdemux/network.c @@ -168,16 +168,16 @@ connect2Server(char *host, int port) { return -1; } } - tv.tv_sec = 5; - tv.tv_usec = 0; + tv.tv_sec = 0; + tv.tv_usec = 500000; FD_ZERO( &set ); FD_SET( socket_server_fd, &set ); // When the connection will be made, we will have a writable fd while((ret = select(socket_server_fd+1, NULL, &set, NULL, &tv)) == 0) { if( ret<0 ) mp_msg(MSGT_NETWORK,MSGL_ERR,"select failed\n"); else if(ret > 0) break; - else if(count > 15 || mpdemux_check_interrupt(500)) { - if(count > 15) + else if(count > 30 || mpdemux_check_interrupt(500)) { + if(count > 30) mp_msg(MSGT_NETWORK,MSGL_ERR,"Connection timeout\n"); else mp_msg(MSGT_NETWORK,MSGL_V,"Connection interuppted by user\n"); @@ -186,6 +186,8 @@ connect2Server(char *host, int port) { count++; FD_ZERO( &set ); FD_SET( socket_server_fd, &set ); + tv.tv_sec = 0; + tv.tv_usec = 500000; } // Turn back the socket as blocking |