mirror of
https://github.com/moparisthebest/curl
synced 2024-11-11 20:15:03 -05:00
tftpd.c: Follow up cleanup and restore of previous sockopt
This commit is contained in:
parent
090b55c100
commit
9474c4a9a5
@ -1196,8 +1196,8 @@ static void sendtftp(struct testcase *test, struct formats *pf)
|
|||||||
*/
|
*/
|
||||||
static void recvtftp(struct testcase *test, struct formats *pf)
|
static void recvtftp(struct testcase *test, struct formats *pf)
|
||||||
{
|
{
|
||||||
#if USE_WINSOCK
|
#ifdef USE_WINSOCK
|
||||||
DWORD recvtimeout;
|
DWORD recvtimeout, recvtimeoutbak;
|
||||||
#endif
|
#endif
|
||||||
ssize_t n, size;
|
ssize_t n, size;
|
||||||
recvblock = 0;
|
recvblock = 0;
|
||||||
@ -1269,13 +1269,16 @@ send_ack:
|
|||||||
#endif
|
#endif
|
||||||
/* normally times out and quits */
|
/* normally times out and quits */
|
||||||
#ifdef USE_WINSOCK
|
#ifdef USE_WINSOCK
|
||||||
|
recvtimeout = sizeof(recvtimeoutbak);
|
||||||
|
getsockopt(peer, SOL_SOCKET, SO_RCVTIMEO,
|
||||||
|
(char*)&recvtimeoutbak, (int*)&recvtimeout);
|
||||||
recvtimeout = 10;
|
recvtimeout = 10;
|
||||||
setsockopt(peer, SOL_SOCKET, SO_RCVTIMEO,
|
setsockopt(peer, SOL_SOCKET, SO_RCVTIMEO,
|
||||||
(const char*)&recvtimeout, sizeof(recvtimeout));
|
(const char*)&recvtimeout, sizeof(recvtimeout));
|
||||||
#endif
|
#endif
|
||||||
n = sread(peer, &buf.storage[0], sizeof(buf.storage));
|
n = sread(peer, &buf.storage[0], sizeof(buf.storage));
|
||||||
#ifdef USE_WINSOCK
|
#ifdef USE_WINSOCK
|
||||||
recvtimeout = 0;
|
recvtimeout = recvtimeoutbak;
|
||||||
setsockopt(peer, SOL_SOCKET, SO_RCVTIMEO,
|
setsockopt(peer, SOL_SOCKET, SO_RCVTIMEO,
|
||||||
(const char*)&recvtimeout, sizeof(recvtimeout));
|
(const char*)&recvtimeout, sizeof(recvtimeout));
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user