DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/RunTime/Shutdown/
FlushPendingOperations.rs1use CommonLibrary::Error::CommonError::CommonError;
5
6use crate::{RunTime::ApplicationRunTime::ApplicationRunTime, dev_log};
7
8impl ApplicationRunTime {
9 pub async fn FlushPendingOperations(&self) {
10 dev_log!("lifecycle", "[ApplicationRunTime] Flushing pending operations...");
11
12 let mut PendingRequestsGuard = self
13 .Environment
14 .ApplicationState
15 .UI
16 .PendingUserInterfaceRequest
17 .lock()
18 .unwrap_or_else(|E| {
19 dev_log!(
20 "lifecycle",
21 "error: [ApplicationRunTime] Failed to lock pending UI requests: {}",
22 E
23 );
24 E.into_inner()
25 });
26
27 for (_RequestIdentifier, Sender) in PendingRequestsGuard.drain() {
28 let _ = Sender.send(Err(CommonError::Unknown {
29 Description:"Application shutting down".to_string(),
30 }));
31 }
32
33 dev_log!("lifecycle", "[ApplicationRunTime] Pending operations flushed");
34 }
35}