Make sure we're not starving report reads when there's lots of rumble
diff --git a/src/joystick/hidapi/SDL_hidapi_rumble.c b/src/joystick/hidapi/SDL_hidapi_rumble.c
index 3a3c2e2..769d113 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;