From 24b410476bc76cf832e944bf1e443639b16ffdc4 Mon Sep 17 00:00:00 2001 From: Ethan O'Brien <77750390+ethanaobrien@users.noreply.github.com> Date: Fri, 14 Jul 2023 11:49:58 -0500 Subject: [PATCH] Fix emscripten sleep --- dist-scripts/dist-cores.sh | 3 +++ libretro-common/include/retro_timers.h | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/dist-scripts/dist-cores.sh b/dist-scripts/dist-cores.sh index 0acb52bd8e..13f603c9b0 100755 --- a/dist-scripts/dist-cores.sh +++ b/dist-scripts/dist-cores.sh @@ -205,6 +205,9 @@ for f in `ls -v *_${platform}.${EXT}`; do whole_archive= big_stack= + if [ $PLATFORM = "emscripten" ]; then + async=1 #emscripten needs async to sleep + fi if [ $name = "nxengine" ] ; then echo "Applying whole archive linking..." whole_archive="WHOLE_ARCHIVE_LINK=1" diff --git a/libretro-common/include/retro_timers.h b/libretro-common/include/retro_timers.h index 04a860a26b..00e059e290 100644 --- a/libretro-common/include/retro_timers.h +++ b/libretro-common/include/retro_timers.h @@ -39,6 +39,8 @@ #include #elif defined(_3DS) #include <3ds.h> +#elif defined(EMSCRIPTEN) +#include #else #include #endif @@ -99,6 +101,8 @@ static int nanosleepDOS(const struct timespec *rqtp, struct timespec *rmtp) #define retro_sleep(msec) (usleep(1000 * (msec))) #elif defined(WIIU) #define retro_sleep(msec) (OSSleepTicks(ms_to_ticks((msec)))) +#elif defined(EMSCRIPTEN) +#define retro_sleep(msec) (emscripten_sleep(msec)) #else static INLINE void retro_sleep(unsigned msec) {