зеркало из https://github.com/mozilla/gecko-dev.git
Bug 979566 - Profiler: Convert usleep to nanosleep. r=bgirard
This commit is contained in:
Родитель
52f714008a
Коммит
61ed9edf45
|
@ -588,8 +588,19 @@ void TickSample::PopulateContext(void* aContext)
|
|||
}
|
||||
}
|
||||
|
||||
// WARNING: Works with values up to 1 second
|
||||
void OS::SleepMicro(int microseconds)
|
||||
{
|
||||
usleep(microseconds);
|
||||
struct timespec ts;
|
||||
ts.tv_sec = 0;
|
||||
ts.tv_nsec = microseconds * 1000UL;
|
||||
|
||||
while (true) {
|
||||
// in the case of interrupt we keep waiting
|
||||
// nanosleep puts the remaining to back into ts
|
||||
if (!nanosleep(&ts, &ts) || errno != EINTR) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче