Merge from 1.0.0-stable branch.
This commit is contained in:
@@ -78,8 +78,10 @@ typedef struct _CPUUTIL {
|
||||
ULONG ulIntrHigh; /* High 32 bits of interrupt time */
|
||||
} CPUUTIL;
|
||||
|
||||
#ifndef __KLIBC__
|
||||
APIRET APIENTRY(*DosPerfSysCall) (ULONG ulCommand, ULONG ulParm1, ULONG ulParm2, ULONG ulParm3) = NULL;
|
||||
APIRET APIENTRY(*DosQuerySysState) (ULONG func, ULONG arg1, ULONG pid, ULONG _res_, PVOID buf, ULONG bufsz) = NULL;
|
||||
#endif
|
||||
HMODULE hDoscalls = 0;
|
||||
|
||||
int RAND_poll(void)
|
||||
@@ -91,6 +93,7 @@ int RAND_poll(void)
|
||||
if (hDoscalls == 0) {
|
||||
ULONG rc = DosLoadModule(failed_module, sizeof(failed_module), "DOSCALLS", &hDoscalls);
|
||||
|
||||
#ifndef __KLIBC__
|
||||
if (rc == 0) {
|
||||
rc = DosQueryProcAddr(hDoscalls, 976, NULL, (PFN *)&DosPerfSysCall);
|
||||
|
||||
@@ -102,6 +105,7 @@ int RAND_poll(void)
|
||||
if (rc)
|
||||
DosQuerySysState = NULL;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Sample the hi-res timer, runs at around 1.1 MHz */
|
||||
@@ -122,7 +126,9 @@ int RAND_poll(void)
|
||||
RAND_add(&util, sizeof(util), 10);
|
||||
}
|
||||
else {
|
||||
#ifndef __KLIBC__
|
||||
DosPerfSysCall = NULL;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user