1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04: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:
Marc Hoersken 2020-06-01 08:32:21 +02:00
parent 8346c90b78
commit 5325b92a0a
No known key found for this signature in database
GPG Key ID: 61E03CBED7BC859E

View File

@ -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 */