SessionTrack: grab a CONCURRENCY lock for Deleting URSK
DeleteUrsk() is called upon receiving SESSION_DEINIT_NTF.
To ensure proper serialization, the function is marked as a critical
section. This prevents concurrent access from upper-layer write requests
and the internal DeleteUrsk() operation.
Bug: 375952239
Test: ccc session start/stop
Change-Id: I2ff40bb46083742402757119a56c921b81704e89
Merged-In: I2ff40bb46083742402757119a56c921b81704e89
diff --git a/halimpl/hal/sessionTrack.cc b/halimpl/hal/sessionTrack.cc
index 56d2697..1f471c9 100644
--- a/halimpl/hal/sessionTrack.cc
+++ b/halimpl/hal/sessionTrack.cc
@@ -651,7 +651,9 @@
}
break;
case SessionTrackWorkType::DELETE_URSK:
+ CONCURRENCY_LOCK();
DeleteUrsk(msg->session_info_);
+ CONCURRENCY_UNLOCK();
break;
case SessionTrackWorkType::STOP:
stop_thread = true;