Mercurial > mplayer.hg
comparison stream/tcp.c @ 22113:50c9dc00154d
Add timeout to tcp connections, avoid hanging forever.
Based on patch for bugzilla #673
author | rtogni |
---|---|
date | Sun, 04 Feb 2007 14:18:56 +0000 |
parents | e053647fbeec |
children | 9bc7a6022cde |
comparison
equal
deleted
inserted
replaced
22112:c9214f2c30c4 | 22113:50c9dc00154d |
---|---|
83 | 83 |
84 if( socket_server_fd==-1 ) { | 84 if( socket_server_fd==-1 ) { |
85 // mp_msg(MSGT_NETWORK,MSGL_ERR,"Failed to create %s socket:\n", af2String(af)); | 85 // mp_msg(MSGT_NETWORK,MSGL_ERR,"Failed to create %s socket:\n", af2String(af)); |
86 return TCP_ERROR_FATAL; | 86 return TCP_ERROR_FATAL; |
87 } | 87 } |
88 | |
89 #if defined SO_RCVTIMEO && defined SO_SNDTIMEO | |
90 tv.tv_sec = 10; | |
91 tv.tv_usec = 0; | |
92 setsockopt(socket_server_fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); | |
93 setsockopt(socket_server_fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)); | |
94 #endif | |
88 | 95 |
89 switch (af) { | 96 switch (af) { |
90 case AF_INET: our_s_addr = (void *) &server_address.four.sin_addr; break; | 97 case AF_INET: our_s_addr = (void *) &server_address.four.sin_addr; break; |
91 #ifdef HAVE_AF_INET6 | 98 #ifdef HAVE_AF_INET6 |
92 case AF_INET6: our_s_addr = (void *) &server_address.six.sin6_addr; break; | 99 case AF_INET6: our_s_addr = (void *) &server_address.six.sin6_addr; break; |