actually acquire the frame lock that i should have been doing all this time... *facepalm*
							parent
							
								
									1f415d13fc
								
							
						
					
					
						commit
						289e92bf28
					
				|  | @ -1935,6 +1935,8 @@ main(int argc, char **argv) | |||
|     exchange_vars.thread.queues[BACKGROUND_THREADS].semaphore =  | ||||
|         LinuxSemToHandle(&linuxvars.thread_semaphores[BACKGROUND_THREADS]); | ||||
| 
 | ||||
|     system_acquire_lock(FRAME_LOCK); | ||||
| 
 | ||||
|     for(i32 i = 0; i < linuxvars.groups[BACKGROUND_THREADS].count; ++i){ | ||||
|         Thread_Context *thread = linuxvars.groups[BACKGROUND_THREADS].threads + i; | ||||
|         thread->id = i + 1; | ||||
|  | @ -2514,11 +2516,15 @@ main(int argc, char **argv) | |||
|             LinuxRedrawTarget(); | ||||
|         } | ||||
| 
 | ||||
|         system_release_lock(FRAME_LOCK); | ||||
| 
 | ||||
|         u64 time_diff = system_time() - start_time; | ||||
|         if(time_diff < frame_useconds){ | ||||
|             usleep(frame_useconds - time_diff); | ||||
|         } | ||||
| 
 | ||||
|         system_acquire_lock(FRAME_LOCK); | ||||
| 
 | ||||
|         if(result.mouse_cursor_type != linuxvars.cursor){ | ||||
|             Cursor c = xcursors[result.mouse_cursor_type]; | ||||
|             XDefineCursor(linuxvars.XDisplay, linuxvars.XWindow, c); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 insofaras
						insofaras