posix_sleep.c 477 B

1234567891011121314151617181920212223
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. */
  9. #include <stdlib.h>
  10. #include <rtthread.h>
  11. #include <unistd.h>
  12. unsigned int sleep(unsigned int seconds)
  13. {
  14. rt_tick_t delta_tick;
  15. delta_tick = rt_tick_get();
  16. rt_thread_delay(seconds * RT_TICK_PER_SECOND);
  17. delta_tick = rt_tick_get() - delta_tick;
  18. return seconds - delta_tick/RT_TICK_PER_SECOND;
  19. }