Fix broken timeout calculation causing intermittent CI failures

* It turns out that min(0, x) is 0, and not a great way to prevent underflow!
This commit is contained in:
baldurk
2019-02-13 18:53:55 +00:00
parent e9e42839c3
commit 0e926ee258
2 changed files with 8 additions and 2 deletions
+4 -1
View File
@@ -129,7 +129,10 @@ Socket *Socket::AcceptClient(uint32_t timeoutMilliseconds)
Threading::Sleep(sleeptime);
timeoutMilliseconds = RDCMIN(0U, timeoutMilliseconds - sleeptime);
if(sleeptime < timeoutMilliseconds)
timeoutMilliseconds -= sleeptime;
else
timeoutMilliseconds = 0U;
} while(timeoutMilliseconds);
return NULL;
+4 -1
View File
@@ -144,7 +144,10 @@ Socket *Socket::AcceptClient(uint32_t timeoutMilliseconds)
Threading::Sleep(sleeptime);
timeoutMilliseconds = RDCMIN(0U, timeoutMilliseconds - sleeptime);
if(sleeptime < timeoutMilliseconds)
timeoutMilliseconds -= sleeptime;
else
timeoutMilliseconds = 0U;
} while(timeoutMilliseconds);
return NULL;