[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH] lib/nolibc: add sleep()
sleep() can be implemented as a simple wrapper around nanosleep(), and it's quite convenient for writing quick test apps. Signed-off-by: Florian Schmidt <florian.schmidt@xxxxxxxxx> --- lib/nolibc/exportsyms.uk | 3 +++ lib/nolibc/include/unistd.h | 2 ++ lib/nolibc/time.c | 12 ++++++++++++ 3 files changed, 17 insertions(+) diff --git a/lib/nolibc/exportsyms.uk b/lib/nolibc/exportsyms.uk index f3f23058..cae6e298 100644 --- a/lib/nolibc/exportsyms.uk +++ b/lib/nolibc/exportsyms.uk @@ -74,6 +74,9 @@ strlcat nanosleep clock_gettime +# unistd +sleep + # sys/time gettimeofday diff --git a/lib/nolibc/include/unistd.h b/lib/nolibc/include/unistd.h index 9881ab5b..de0356f1 100644 --- a/lib/nolibc/include/unistd.h +++ b/lib/nolibc/include/unistd.h @@ -47,6 +47,8 @@ extern "C" { #define __NEED_ssize_t #include <nolibc-internal/shareddefs.h> +unsigned int sleep(unsigned int seconds); + #if CONFIG_LIBVFSCORE int close(int fd); ssize_t write(int fd, const void *buf, size_t count); diff --git a/lib/nolibc/time.c b/lib/nolibc/time.c index 69f29300..f884531f 100644 --- a/lib/nolibc/time.c +++ b/lib/nolibc/time.c @@ -92,6 +92,18 @@ int nanosleep(const struct timespec *req, struct timespec *rem) return 0; } +unsigned int sleep(unsigned int seconds) +{ + struct timespec ts; + + ts.tv_sec = seconds; + ts.tv_nsec = 0; + if (nanosleep(&ts, &ts)) + return ts.tv_sec; + + return 0; +} + int gettimeofday(struct timeval *tv, void *tz __unused) { __nsec now = ukplat_wall_clock(); -- 2.21.0 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |