This commit makes `get_current_time_msec` correctly return milliseconds as opposed to microseconds. It also considers the value of `tv_sec`, so we don't lose occasionally go back in time by one second. Finally, the function is moved into `util/time.cc` so that it can be reused elsewhere without having to consider these pitfalls.master
							parent
							
								
									dcae6f1431
								
							
						
					
					
						commit
						dc13bb827d
					
				| @ -0,0 +1,9 @@ | |||||||
|  | #ifndef UTIL_TIME_H | ||||||
|  | #define UTIL_TIME_H | ||||||
|  | 
 | ||||||
|  | /**
 | ||||||
|  |  * Get the current time, in milliseconds. | ||||||
|  |  */ | ||||||
|  | uint32_t get_current_time_msec(void); | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
| @ -0,0 +1,11 @@ | |||||||
|  | #define _POSIX_C_SOURCE 200809L | ||||||
|  | #include <stdint.h> | ||||||
|  | #include <time.h> | ||||||
|  | 
 | ||||||
|  | #include "util/time.h" | ||||||
|  | 
 | ||||||
|  | uint32_t get_current_time_msec(void) { | ||||||
|  | 	struct timespec now; | ||||||
|  | 	clock_gettime(CLOCK_MONOTONIC, &now); | ||||||
|  | 	return now.tv_sec * 1000 + now.tv_nsec / 1000000; | ||||||
|  | } | ||||||
					Loading…
					
					
				
		Reference in new issue