diff options
author | seawood%netscape.com <devnull@localhost> | 2002-04-23 14:11:31 +0000 |
---|---|---|
committer | seawood%netscape.com <devnull@localhost> | 2002-04-23 14:11:31 +0000 |
commit | 06032bb48bfbc8b7864c0e1b31a31e258e74c12f (patch) | |
tree | d9ec4498955a2479e7a77bf602fcbc748afa2c0b /pr/src/md/os2 | |
parent | fca16e0aac34b4c7a2e0d99497e7965c689369ea (diff) | |
download | nspr-hg-06032bb48bfbc8b7864c0e1b31a31e258e74c12f.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
Diffstat (limited to 'pr/src/md/os2')
-rw-r--r-- | pr/src/md/os2/os2inrval.c | 43 |
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; } |