SDL: Fixed deadlock shutting down Android sensors

From a9f6950657f1f5bb684606487c3e34da3a9272fc Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 8 Aug 2023 23:01:55 -0700
Subject: [PATCH] Fixed deadlock shutting down Android sensors

---
 src/sensor/android/SDL_androidsensor.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/sensor/android/SDL_androidsensor.c b/src/sensor/android/SDL_androidsensor.c
index 8ddb342ae103..856f64b3db82 100644
--- a/src/sensor/android/SDL_androidsensor.c
+++ b/src/sensor/android/SDL_androidsensor.c
@@ -258,7 +258,11 @@ static void SDL_ANDROID_SensorClose(SDL_Sensor *sensor)
 
 static void SDL_ANDROID_SensorQuit(void)
 {
+    /* All sensors are closed, but we need to unblock the sensor thread */
+    SDL_AssertSensorsLocked();
+    SDL_UnlockSensors();
     SDL_ANDROID_StopSensorThread(&SDL_sensor_thread_context);
+    SDL_LockSensors();
 
     if (SDL_sensors) {
         SDL_free(SDL_sensors);