diff options
author | Ayush Jain <ayushjain@google.com> | 2023-11-07 00:36:56 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-11-07 00:36:56 +0000 |
commit | 425d0944d40a35cf03f02042ae878828ecd95f74 (patch) | |
tree | 42efd5b7e5466d4deff845ab4ee31b16976b203b | |
parent | c25bdf31f90e95cbf20d6bb81e7a763874fc0211 (diff) | |
parent | 18fd6b73183cd59644c662d5b4bc844628db7f77 (diff) | |
download | uwb-425d0944d40a35cf03f02042ae878828ecd95f74.tar.gz |
Merge "Clear the session map while closing UWB hal" into main am: 18fd6b7318
Original change: https://android-review.googlesource.com/c/platform/external/uwb/+/2810513
Change-Id: I3b8823e43c53b135fd53d17a4482e3f1faf0b2d6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | src/rust/uwb_core/src/uci/uci_manager.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/rust/uwb_core/src/uci/uci_manager.rs b/src/rust/uwb_core/src/uci/uci_manager.rs index d074085..6609c0e 100644 --- a/src/rust/uwb_core/src/uci/uci_manager.rs +++ b/src/rust/uwb_core/src/uci/uci_manager.rs @@ -787,7 +787,7 @@ impl<T: UciHal, U: UciLogger> UciManagerActor<T, U> { if self.is_hal_opened { debug!("The HAL is still opened when exit, close the HAL"); let _ = self.hal.close().await; - self.on_hal_closed(); + self.on_hal_closed().await; } } @@ -906,7 +906,7 @@ impl<T: UciHal, U: UciLogger> UciManagerActor<T, U> { debug!("Force closing the UCI HAL"); let close_result = self.hal.close().await; self.logger.log_hal_close(&close_result); - self.on_hal_closed(); + self.on_hal_closed().await; let _ = result_sender.send(Ok(UciResponse::CloseHal)); } else { if !self.is_hal_opened { @@ -918,7 +918,7 @@ impl<T: UciHal, U: UciLogger> UciManagerActor<T, U> { let result = self.hal.close().await; self.logger.log_hal_close(&result); if result.is_ok() { - self.on_hal_closed(); + self.on_hal_closed().await; } let _ = result_sender.send(result.map(|_| UciResponse::CloseHal)); } @@ -1136,7 +1136,7 @@ impl<T: UciHal, U: UciLogger> UciManagerActor<T, U> { } None => { warn!("UciHal dropped the packet_sender unexpectedly."); - self.on_hal_closed(); + self.on_hal_closed().await; return; } }; @@ -1418,7 +1418,8 @@ impl<T: UciHal, U: UciLogger> UciManagerActor<T, U> { self.packet_receiver = packet_receiver; } - fn on_hal_closed(&mut self) { + async fn on_hal_closed(&mut self) { + self.session_id_to_token_map.lock().await.clear(); self.is_hal_opened = false; self.packet_receiver = mpsc::unbounded_channel().1; self.last_raw_cmd = None; |