diff options
author | Mathieu Chartier <mathieuc@google.com> | 2015-05-04 09:53:43 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2015-05-04 10:03:41 -0700 |
commit | 46578a4a3bf235fde35ed80c6e6cbe8fb5f06b48 (patch) | |
tree | f7ac3fcc1c55b52527fce0cc4d17c60e8547f09c /runtime/utils.cc | |
parent | 414369a2e3f23e1408fc1cbf4f623014bd95cb8f (diff) | |
download | art-46578a4a3bf235fde35ed80c6e6cbe8fb5f06b48.tar.gz art-46578a4a3bf235fde35ed80c6e6cbe8fb5f06b48.tar.bz2 art-46578a4a3bf235fde35ed80c6e6cbe8fb5f06b48.zip |
Fix NanoSleep and add test
Fixed a bug where tv_nsec was't between 0 and 999,999,999.
(cherry picked from commit 0b063d9ba7a11779667c0888e9f3495de0118b74)
Bug: 14450052
Change-Id: I30b29a716bfa63c6b57d589dd1102d2ca934c061
Diffstat (limited to 'runtime/utils.cc')
-rw-r--r-- | runtime/utils.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/utils.cc b/runtime/utils.cc index e18af0069..650214f67 100644 --- a/runtime/utils.cc +++ b/runtime/utils.cc @@ -262,8 +262,8 @@ uint64_t ThreadCpuNanoTime() { void NanoSleep(uint64_t ns) { timespec tm; - tm.tv_sec = 0; - tm.tv_nsec = ns; + tm.tv_sec = ns / MsToNs(1000); + tm.tv_nsec = ns - static_cast<uint64_t>(tm.tv_sec) * MsToNs(1000); nanosleep(&tm, nullptr); } |