Fix SleepMs function

nanosleep returns 0 when it successfully sleep for requested interval,
if we got errno EINTR, it means the return value will be -1.

BUG=NONE
TEST=NONE

Change-Id: I31879ecf92609643c3990d2ba93a2e08b3f20403
Reviewed-on: https://chromium-review.googlesource.com/830037
Commit-Ready: Zhongze Hu <frankhu@google.com>
Tested-by: Zhongze Hu <frankhu@google.com>
Reviewed-by: Ege Mihmanli <egemih@google.com>
Reviewed-by: Emil Lundmark <lndmrk@chromium.org>
diff --git a/src/util.cc b/src/util.cc
index 7aec483..cef4886 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -98,7 +98,7 @@
   struct timespec req = {.tv_sec = (ms / 1000),
                          .tv_nsec = ((ms % 1000) * 1000000)};
   struct timespec rem;
-  while ((nanosleep(&req, &rem) == 0) && (errno == EINTR)) {
+  while ((nanosleep(&req, &rem) != 0) && (errno == EINTR)) {
     req = rem;
   }
 }