#include <assert.h>
#include <threads.h>
#include <zircon/syscalls.h>

#include "time_conversion.h"

int thrd_sleep(const struct timespec* req, struct timespec* rem) {
  zx_time_t deadline = ZX_TIME_INFINITE;
  int ret = __timespec_to_deadline(req, CLOCK_REALTIME, &deadline);
  if (ret) {
    // According to the API, failures not due to signals should return a
    // negative value other than -1. So return -2 if we didn't timeout.
    return ret == ETIMEDOUT ? 0 : -2;
  }

  // For now, Zircon only provides an uninterruptible nanosleep. If
  // we ever introduce an asynchronous mechanism that would require
  // some EINTR-like logic, then we will also want a nanosleep call
  // which reports back how much time is remaining. Until then,
  // always report back 0 timeout remaining.

  ret = _zx_nanosleep(deadline);
  assert(ret == 0);
  if (rem) {
    *rem = (struct timespec){
        .tv_sec = 0,
        .tv_nsec = 0,
    };
  }
  return 0;
}
