Don't use __try+__except unless on VC++

This commit is contained in:
Dr. Stephen Henson 2009-09-20 12:39:16 +00:00
parent ca26ccb083
commit 5e56584285

View file

@ -497,6 +497,7 @@ int RAND_poll(void)
ZeroMemory(&hlist, sizeof(HEAPLIST32));
hlist.dwSize = sizeof(HEAPLIST32);
if (good) stoptime = GetTickCount() + MAXDELAY;
#ifdef _MSC_VER
if (heaplist_first(handle, &hlist))
{
/*
@ -539,6 +540,29 @@ int RAND_poll(void)
&& ex_cnt_limit > 0);
}
#else
if (heaplist_first(handle, &hlist))
{
do
{
RAND_add(&hlist, hlist.dwSize, 3);
hentry.dwSize = sizeof(HEAPENTRY32);
if (heap_first(&hentry,
hlist.th32ProcessID,
hlist.th32HeapID))
{
int entrycnt = 80;
do
RAND_add(&hentry,
hentry.dwSize, 5);
while (heap_next(&hentry)
&& --entrycnt > 0);
}
} while (heaplist_next(handle, &hlist)
&& GetTickCount() < stoptime);
}
#endif
/* process walking */
/* PROCESSENTRY32 contains 9 fields that will change
* with each entry. Consider each field a source of