From ee515950ac22a70a1a7ed44d52e5c66826d372b8 Mon Sep 17 00:00:00 2001 From: hyc Date: Fri, 1 Jan 2010 20:48:49 +0000 Subject: [PATCH] Fix SO_RCVTIMEO for WIN32 git-svn-id: svn://svn.mplayerhq.hu/rtmpdump/trunk@162 400ebc74-4327-4243-bc38-086b20814532 --- hashswf.c | 4 +--- rtmp.c | 6 ++---- rtmp.h | 2 ++ 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/hashswf.c b/hashswf.c index ead18be..fa3d245 100644 --- a/hashswf.c +++ b/hashswf.c @@ -154,9 +154,7 @@ http_get(const char *url, struct info *in) 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))) { diff --git a/rtmp.c b/rtmp.c index 396ed32..f21f986 100644 --- a/rtmp.c +++ b/rtmp.c @@ -398,14 +398,12 @@ RTMP_Connect(RTMP * r) 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 diff --git a/rtmp.h b/rtmp.h index c7aa2dc..24e737b 100644 --- a/rtmp.h +++ b/rtmp.h @@ -31,6 +31,7 @@ #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 #include @@ -43,6 +44,7 @@ #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 -- 2.50.1