1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

sockfilt.c: Replace 100ms sleep with thread throttle

Improves performance of test cases 574 and 575 by 50%.

A value of zero causes the thread to relinquish the remainder
of its time slice to any other thread of equal priority that is
ready to run. If there are no other threads of equal priority
ready to run, the function returns immediately, and the thread
continues execution.

http://msdn.microsoft.com/library/windows/desktop/ms686307.aspx
This commit is contained in:
Marc Hoersken 2014-12-26 10:11:47 +01:00
parent 6dd9c3909c
commit 62a018762e

View File

@ -564,7 +564,7 @@ static DWORD WINAPI select_ws_wait_thread(LPVOID lpParameter)
/* compare position with size, abort if not equal */
if(size.QuadPart == pos.QuadPart) {
/* sleep and continue waiting */
SleepEx(100, FALSE);
SleepEx(0, FALSE);
continue;
}
}
@ -618,14 +618,14 @@ static DWORD WINAPI select_ws_wait_thread(LPVOID lpParameter)
if(PeekNamedPipe(handle, NULL, 0, NULL, &length, NULL)) {
/* if there is no data available, sleep and continue waiting */
if(length == 0) {
SleepEx(100, FALSE);
SleepEx(0, FALSE);
continue;
}
}
else {
/* if the pipe has been closed, sleep and continue waiting */
if(GetLastError() == ERROR_BROKEN_PIPE) {
SleepEx(100, FALSE);
SleepEx(0, FALSE);
continue;
}
}