PR: 1990
Update from 0.9.8-stable.
This commit is contained in:
parent
f1ad8fb627
commit
d069a4d15d
@ -250,17 +250,22 @@ static void dgram_reset_rcv_timeout(BIO *b)
|
|||||||
{
|
{
|
||||||
#if defined(SO_RCVTIMEO)
|
#if defined(SO_RCVTIMEO)
|
||||||
bio_dgram_data *data = (bio_dgram_data *)b->ptr;
|
bio_dgram_data *data = (bio_dgram_data *)b->ptr;
|
||||||
|
|
||||||
|
/* Is a timer active? */
|
||||||
|
if (data->next_timeout.tv_sec > 0 || data->next_timeout.tv_usec > 0)
|
||||||
|
{
|
||||||
#ifdef OPENSSL_SYS_WINDOWS
|
#ifdef OPENSSL_SYS_WINDOWS
|
||||||
int timeout = data->socket_timeout.tv_sec * 1000 +
|
int timeout = data->socket_timeout.tv_sec * 1000 +
|
||||||
data->socket_timeout.tv_usec / 1000;
|
data->socket_timeout.tv_usec / 1000;
|
||||||
if (setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
if (setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO,
|
||||||
(void*)&timeout, sizeof(timeout)) < 0)
|
(void*)&timeout, sizeof(timeout)) < 0)
|
||||||
{ perror("setsockopt"); }
|
{ perror("setsockopt"); }
|
||||||
#else
|
#else
|
||||||
if ( setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO, &(data->socket_timeout),
|
if ( setsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO, &(data->socket_timeout),
|
||||||
sizeof(struct timeval)) < 0)
|
sizeof(struct timeval)) < 0)
|
||||||
{ perror("setsockopt"); }
|
{ perror("setsockopt"); }
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user