From 480c1f9fef73dece0ead7c95a60dcb67ec4e7ce7 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 1 Jan 2021 11:12:36 -0800 Subject: [PATCH] Make sure we're not starving report reads when there's lots of rumble --- src/joystick/hidapi/SDL_hidapi_rumble.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/joystick/hidapi/SDL_hidapi_rumble.c b/src/joystick/hidapi/SDL_hidapi_rumble.c index 3a3c2e243..769d11341 100644 --- a/src/joystick/hidapi/SDL_hidapi_rumble.c +++ b/src/joystick/hidapi/SDL_hidapi_rumble.c @@ -25,6 +25,7 @@ /* Handle rumble on a separate thread so it doesn't block the application */ #include "SDL_thread.h" +#include "SDL_timer.h" #include "SDL_hidapijoystick_c.h" #include "SDL_hidapi_rumble.h" #include "../../thread/SDL_systhread.h" @@ -81,6 +82,9 @@ static int SDL_HIDAPI_RumbleThread(void *data) SDL_UnlockMutex(request->device->dev_lock); (void)SDL_AtomicDecRef(&request->device->rumble_pending); SDL_free(request); + + /* Make sure we're not starving report reads when there's lots of rumble */ + SDL_Delay(10); } } return 0;