From 77e58d15785f213296f27cf5ea64f10dc8f5f4ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20GUEZO?= Date: Wed, 3 Sep 2025 20:33:17 +0200 Subject: [PATCH] feat: add sleep ms function --- src/sleepms.c | 24 ++++++++++++++++++++++++ src/sleepms.h | 6 ++++++ 2 files changed, 30 insertions(+) create mode 100644 src/sleepms.c create mode 100644 src/sleepms.h diff --git a/src/sleepms.c b/src/sleepms.c new file mode 100644 index 0000000..0de0fa2 --- /dev/null +++ b/src/sleepms.c @@ -0,0 +1,24 @@ +#include "sleepms.h" + +#ifdef WIN32 +#include +#elif _POSIX_C_SOURCE >= 199309L +#include // for nanosleep +#else +#include // for usleep +#endif + +void sleep_ms(int milliseconds){ // cross-platform sleep function +#ifdef WIN32 + Sleep(milliseconds); +#elif _POSIX_C_SOURCE >= 199309L + struct timespec ts; + ts.tv_sec = milliseconds / 1000; + ts.tv_nsec = (milliseconds % 1000) * 1000000; + nanosleep(&ts, NULL); +#else + if (milliseconds >= 1000) + sleep(milliseconds / 1000); + usleep((milliseconds % 1000) * 1000); +#endif +} \ No newline at end of file diff --git a/src/sleepms.h b/src/sleepms.h new file mode 100644 index 0000000..6f6b7e8 --- /dev/null +++ b/src/sleepms.h @@ -0,0 +1,6 @@ +#ifndef SLEEPMS_H +#define SLEEPMS_H + +void sleep_ms(int milliseconds); + +#endif // SLEEPMS_H \ No newline at end of file