mirror of
				https://github.com/raysan5/raylib.git
				synced 2025-10-26 12:27:01 +00:00 
			
		
		
		
	Corrected issue with unclosed threads
This commit is contained in:
		
							
								
								
									
										14
									
								
								src/core.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								src/core.c
									
									
									
									
									
								
							| @@ -447,6 +447,14 @@ void CloseWindow(void) | ||||
|     }    | ||||
| #endif | ||||
|  | ||||
| #if defined(PLATFORM_RPI) | ||||
|     // Wait for mouse and gamepad threads to finish before closing | ||||
|     // NOTE: Those threads should already have finished at this point | ||||
|     // because they are controlled by windowShouldClose variable | ||||
|     pthread_join(mouseThreadId, NULL); | ||||
|     pthread_join(gamepadThreadId, NULL); | ||||
| #endif | ||||
|  | ||||
|     TraceLog(INFO, "Window closed successfully"); | ||||
| } | ||||
|  | ||||
| @@ -1771,7 +1779,7 @@ static void InitGraphics(void) | ||||
| } | ||||
|  | ||||
| // Compute framebuffer size relative to screen size and display size | ||||
| // NOTE: Global variables renderWidth/renderHeight can be modified | ||||
| // NOTE: Global variables renderWidth/renderHeight and renderOffsetX/renderOffsetY can be modified | ||||
| static void SetupFramebufferSize(int displayWidth, int displayHeight) | ||||
| { | ||||
|     // TODO: SetupFramebufferSize() does not consider properly display video modes. | ||||
| @@ -2752,7 +2760,7 @@ static void *GamepadThread(void *arg) | ||||
|     // Read gamepad event | ||||
|     struct js_event gamepadEvent; | ||||
|      | ||||
|     while (1)  | ||||
|     while (!windowShouldClose) | ||||
|     { | ||||
|         for (int i = 0; i < MAX_GAMEPADS; i++) | ||||
|         { | ||||
| @@ -2787,7 +2795,7 @@ static void *GamepadThread(void *arg) | ||||
|  | ||||
|     return NULL; | ||||
| } | ||||
| #endif | ||||
| #endif      // PLATFORM_RPI | ||||
|  | ||||
| // Plays raylib logo appearing animation | ||||
| static void LogoAnimation(void) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 raysan5
					raysan5