Bug 970904 - Fix PR_WaitCondVar timeout for sleep() in js shell. r=jandem

This commit is contained in:
Tooru Fujisawa 2015-01-24 21:21:25 +09:00
Родитель 7eb1c8173d
Коммит 0c793d23a8
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -0,0 +1,6 @@
// sleep() should work without timeout() prior to it.
sleep(0.001);
sleep(0.01);
sleep(0.1);
sleep(1);

Просмотреть файл

@ -2900,7 +2900,7 @@ Sleep_fn(JSContext *cx, unsigned argc, Value *vp)
PR_Lock(gWatchdogLock);
int64_t to_wakeup = PRMJ_Now() + t_ticks;
for (;;) {
PR_WaitCondVar(gSleepWakeup, t_ticks);
PR_WaitCondVar(gSleepWakeup, PR_MillisecondsToInterval(t_ticks / 1000));
if (gServiceInterrupt)
break;
int64_t now = PRMJ_Now();
@ -2909,6 +2909,7 @@ Sleep_fn(JSContext *cx, unsigned argc, Value *vp)
t_ticks = to_wakeup - now;
}
PR_Unlock(gWatchdogLock);
args.rval().setUndefined();
return !gServiceInterrupt;
}