mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 16:32:18 +01:00 
			
		
		
		
	Fix two bugs: 1) If abs_time is NULL, should use infinite time. 2) Check
2002-11-23 Tor Lillqvist <tml@iki.fi> * gthread-win32.c (g_cond_timed_wait_win32_impl): Fix two bugs: 1) If abs_time is NULL, should use infinite time. 2) Check for current time already being past abs_time. (#99294, Christopher R. Palmer, fix by Sebastian Wilhelmi)
This commit is contained in:
		
				
					committed by
					
						 Tor Lillqvist
						Tor Lillqvist
					
				
			
			
				
	
			
			
			
						parent
						
							46afa1fe85
						
					
				
				
					commit
					133051b074
				
			| @@ -1,3 +1,10 @@ | ||||
| 2002-11-23  Tor Lillqvist  <tml@iki.fi> | ||||
|  | ||||
| 	* gthread-win32.c (g_cond_timed_wait_win32_impl): Fix two bugs: 1) | ||||
| 	If abs_time is NULL, should use infinite time. 2) Check for | ||||
| 	current time already being past abs_time. (#99294, Christopher | ||||
| 	R. Palmer, fix by Sebastian Wilhelmi) | ||||
|  | ||||
| Mon Nov  4 14:45:24 2002  Owen Taylor  <otaylor@redhat.com> | ||||
|  | ||||
| 	* gthread-posix.c gthread-solaris.c: Include <config.h> | ||||
|   | ||||
| @@ -291,10 +291,20 @@ g_cond_timed_wait_win32_impl (GCond *cond, | ||||
|   g_return_val_if_fail (cond != NULL, FALSE); | ||||
|   g_return_val_if_fail (entered_mutex != NULL, FALSE); | ||||
|  | ||||
|   g_get_current_time (¤t_time); | ||||
|   to_wait = (abs_time->tv_sec - current_time.tv_sec) * 1000 + | ||||
|     (abs_time->tv_usec - current_time.tv_usec) / 1000; | ||||
|  | ||||
|   if (!abs_time) | ||||
|     to_wait = INFINITE; | ||||
|   else | ||||
|     { | ||||
|       g_get_current_time (¤t_time); | ||||
|       if (abs_time->tv_sec < current_time.tv_sec || | ||||
| 	  (abs_time->tv_sec == current_time.tv_sec && | ||||
| 	   abs_time->tv_usec <= current_time.tv_usec)) | ||||
| 	to_wait = 0; | ||||
|       else | ||||
| 	to_wait = (abs_time->tv_sec - current_time.tv_sec) * 1000 + | ||||
| 	  (abs_time->tv_usec - current_time.tv_usec) / 1000;       | ||||
|     } | ||||
|    | ||||
|   return g_cond_wait_internal (cond, entered_mutex, to_wait); | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user