mirror of
				https://github.com/oplus-giulia-dev/android_hardware_oplus
				synced 2025-11-04 13:55:35 +08:00 
			
		
		
		
	sensors: Fix locking around setOperationMode and activate
Change-Id: I9a09f45f012662c8f92fa40da3a4b9dd691a1b2c
This commit is contained in:
		@@ -83,8 +83,8 @@ void Sensor::batch(int32_t samplingPeriodNs) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Sensor::activate(bool enable) {
 | 
			
		||||
    std::lock_guard<std::mutex> lock(mRunMutex);
 | 
			
		||||
    if (mIsEnabled != enable) {
 | 
			
		||||
        std::unique_lock<std::mutex> lock(mRunMutex);
 | 
			
		||||
        mIsEnabled = enable;
 | 
			
		||||
        mWaitCV.notify_all();
 | 
			
		||||
    }
 | 
			
		||||
@@ -158,8 +158,8 @@ std::vector<Event> Sensor::readEvents() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Sensor::setOperationMode(OperationMode mode) {
 | 
			
		||||
    std::lock_guard<std::mutex> lock(mRunMutex);
 | 
			
		||||
    if (mMode != mode) {
 | 
			
		||||
        std::unique_lock<std::mutex> lock(mRunMutex);
 | 
			
		||||
        mMode = mode;
 | 
			
		||||
        mWaitCV.notify_all();
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user