mirror of
https://github.com/curl/curl.git
synced 2025-01-18 14:04:30 +08:00
select: always use Sleep in Curl_wait_ms on Win32
Since Win32 almost always will also have USE_WINSOCK, we can reduce complexity and always use Sleep there. Assisted-by: Jay Satiro Reviewed-by: Daniel Stenberg Follow up to #5343 Closes #5489
This commit is contained in:
parent
8346c90b78
commit
5325b92a0a
20
lib/select.c
20
lib/select.c
@ -86,16 +86,12 @@ int Curl_wait_ms(timediff_t timeout_ms)
|
||||
}
|
||||
#if defined(MSDOS)
|
||||
delay(timeout_ms);
|
||||
#elif defined(USE_WINSOCK)
|
||||
#elif defined(WIN32)
|
||||
/* prevent overflow, timeout_ms is typecast to ULONG/DWORD. */
|
||||
#if TIMEDIFF_T_MAX > ULONG_MAX
|
||||
if(timeout_ms > ULONG_MAX)
|
||||
#if ULONG_MAX < INFINITE
|
||||
timeout_ms = ULONG_MAX;
|
||||
#else
|
||||
#if TIMEDIFF_T_MAX >= ULONG_MAX
|
||||
if(timeout_ms >= ULONG_MAX)
|
||||
timeout_ms = ULONG_MAX-1;
|
||||
/* avoid waiting forever */
|
||||
#endif
|
||||
/* don't use ULONG_MAX, because that is equal to INFINITE */
|
||||
#endif
|
||||
Sleep((ULONG)timeout_ms);
|
||||
#else
|
||||
@ -119,14 +115,6 @@ int Curl_wait_ms(timediff_t timeout_ms)
|
||||
#endif
|
||||
pending_tv.tv_sec = (time_t)tv_sec;
|
||||
pending_tv.tv_usec = (suseconds_t)tv_usec;
|
||||
#elif defined(WIN32) /* maybe also others in the future */
|
||||
#if TIMEDIFF_T_MAX > LONG_MAX
|
||||
/* tv_sec overflow check on Windows there we know it is long */
|
||||
if(tv_sec > LONG_MAX)
|
||||
tv_sec = LONG_MAX;
|
||||
#endif
|
||||
pending_tv.tv_sec = (long)tv_sec;
|
||||
pending_tv.tv_usec = (long)tv_usec;
|
||||
#else
|
||||
#if TIMEDIFF_T_MAX > INT_MAX
|
||||
/* tv_sec overflow check in case time_t is signed */
|
||||
|
Loading…
Reference in New Issue
Block a user