PR: 2100
Submitted by: James Baker <jbaker@tableausoftware.com> et al. Workaround for slow Heap32Next on some versions of Windows.
This commit is contained in:
parent
439aab3afc
commit
47e0a1c335
2 changed files with 6 additions and 0 deletions
5
CHANGES
5
CHANGES
|
@ -898,6 +898,11 @@
|
||||||
|
|
||||||
Changes between 0.9.8l (?) and 0.9.8m (?) [xx XXX xxxx]
|
Changes between 0.9.8l (?) and 0.9.8m (?) [xx XXX xxxx]
|
||||||
|
|
||||||
|
*) On some versions of WIN32 Heap32Next is very slow. This can cause
|
||||||
|
excessive delays in the RAND_poll(): over a minute. As a workaround
|
||||||
|
include a time check in the inner Heap32Next loop too.
|
||||||
|
[Steve Henson]
|
||||||
|
|
||||||
*) The code that handled flushing of data in SSL/TLS originally used the
|
*) The code that handled flushing of data in SSL/TLS originally used the
|
||||||
BIO_CTRL_INFO ctrl to see if any data was pending first. This caused
|
BIO_CTRL_INFO ctrl to see if any data was pending first. This caused
|
||||||
the problem outlined in PR#1949. The fix suggested there however can
|
the problem outlined in PR#1949. The fix suggested there however can
|
||||||
|
|
|
@ -527,6 +527,7 @@ int RAND_poll(void)
|
||||||
RAND_add(&hentry,
|
RAND_add(&hentry,
|
||||||
hentry.dwSize, 5);
|
hentry.dwSize, 5);
|
||||||
while (heap_next(&hentry)
|
while (heap_next(&hentry)
|
||||||
|
&& (!good || (GetTickCount()-starttime)<MAXDELAY)
|
||||||
&& --entrycnt > 0);
|
&& --entrycnt > 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue