init: wait_for_file use smaller time resolution

As 1s timeout can be requested, using second resolution time to check
for timeout prevent from being accurate on the actual time we wait.
Use available gettime_ns instead.

Bug: 21374269
Change-Id: I8be1b69e02beacc7196427f97855e036addf54d1
Signed-off-by: Thierry Strudel <tstrudel@google.com>
This commit is contained in:
Thierry Strudel 2015-05-22 15:56:14 -07:00
parent a552f07f7e
commit 91cf41cf43
1 changed files with 2 additions and 2 deletions

View File

@ -366,10 +366,10 @@ void remove_link(const char *oldpath, const char *newpath)
int wait_for_file(const char *filename, int timeout)
{
struct stat info;
time_t timeout_time = gettime() + timeout;
uint64_t timeout_time_ns = gettime_ns() + timeout * UINT64_C(1000000000);
int ret = -1;
while (gettime() < timeout_time && ((ret = stat(filename, &info)) < 0))
while (gettime_ns() < timeout_time_ns && ((ret = stat(filename, &info)) < 0))
usleep(10000);
return ret;