mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			Fix ticker_read_us() race condition.
							parent
							
								
									ac361d6a4b
								
							
						
					
					
						commit
						b0a18b32a0
					
				| 
						 | 
					@ -416,13 +416,16 @@ timestamp_t ticker_read(const ticker_data_t *const ticker)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
us_timestamp_t ticker_read_us(const ticker_data_t *const ticker)
 | 
					us_timestamp_t ticker_read_us(const ticker_data_t *const ticker)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    us_timestamp_t ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    initialize(ticker);
 | 
					    initialize(ticker);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    core_util_critical_section_enter();
 | 
					    core_util_critical_section_enter();
 | 
				
			||||||
    update_present_time(ticker);
 | 
					    update_present_time(ticker);
 | 
				
			||||||
 | 
					    ret = ticker->queue->present_time;
 | 
				
			||||||
    core_util_critical_section_exit();
 | 
					    core_util_critical_section_exit();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return ticker->queue->present_time;
 | 
					    return ret;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int ticker_get_next_timestamp(const ticker_data_t *const data, timestamp_t *timestamp)
 | 
					int ticker_get_next_timestamp(const ticker_data_t *const data, timestamp_t *timestamp)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue