summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseawood%netscape.com <devnull@localhost>2002-04-23 14:11:02 +0000
committerseawood%netscape.com <devnull@localhost>2002-04-23 14:11:02 +0000
commita4fdf73047732f970a2eb0a6c312d75c73d5c0eb (patch)
tree29f3c6de991d0242dcc3bb33d763e5c7f587d05e
parentb5276eca380c636e4eb5928a4ee259728b7ddd18 (diff)
downloadnspr-hg-a4fdf73047732f970a2eb0a6c312d75c73d5c0eb.tar.gz
Remove high performance timers from OS/2 and revert to default millisecond timer.
Thanks to Michael Kaply <mkaply@us.ibm.com> for the patch. Bug #136958 r=cls
-rw-r--r--pr/src/md/os2/os2inrval.c43
1 files changed, 4 insertions, 39 deletions
diff --git a/pr/src/md/os2/os2inrval.c b/pr/src/md/os2/os2inrval.c
index 469da314..5c112531 100644
--- a/pr/src/md/os2/os2inrval.c
+++ b/pr/src/md/os2/os2inrval.c
@@ -39,57 +39,22 @@
#include "primpl.h"
-ULONG _os2_ticksPerSec = -1;
-PRIntn _os2_bitShift = 0;
-PRInt32 _os2_highMask = 0;
-
-
void
_PR_MD_INTERVAL_INIT()
{
- if (DosTmrQueryFreq(&_os2_ticksPerSec) == NO_ERROR)
- {
- while(_os2_ticksPerSec > PR_INTERVAL_MAX) {
- _os2_ticksPerSec >>= 1;
- _os2_bitShift++;
- _os2_highMask = (_os2_highMask << 1)+1;
- }
- }
- else
- _os2_ticksPerSec = -1;
-
- PR_ASSERT(_os2_ticksPerSec > PR_INTERVAL_MIN && _os2_ticksPerSec < PR_INTERVAL_MAX);
}
PRIntervalTime
_PR_MD_GET_INTERVAL()
{
- QWORD count;
-
- /* Sadly; nspr requires the interval to range from 1000 ticks per second
- * to only 100000 ticks per second; Counter is too high
- * resolution...
- */
- if (DosTmrQueryTime(&count) == NO_ERROR) {
- PRInt32 top = count.ulHi & _os2_highMask;
- top = top << (32 - _os2_bitShift);
- count.ulLo = count.ulLo >> _os2_bitShift;
- count.ulHi = count.ulLo + top;
- return (PRUint32)count.ulLo;
- }
- else{
- ULONG msCount = PR_FAILURE;
- DosQuerySysInfo(QSV_MS_COUNT, QSV_MS_COUNT, &msCount, sizeof(msCount));
- return msCount;
- }
+ ULONG msCount = PR_FAILURE;
+ DosQuerySysInfo(QSV_MS_COUNT, QSV_MS_COUNT, &msCount, sizeof(msCount));
+ return msCount;
}
PRIntervalTime
_PR_MD_INTERVAL_PER_SEC()
{
- if(_os2_ticksPerSec != -1)
- return _os2_ticksPerSec;
- else
- return 1000;
+ return 1000;
}