diff options
author | hozan23 <hozan23@karyontech.net> | 2024-05-23 15:42:07 +0200 |
---|---|---|
committer | hozan23 <hozan23@karyontech.net> | 2024-05-23 15:42:07 +0200 |
commit | c9785e8cc5b6a9a722ba0aff1eb33c2dbf020f2e (patch) | |
tree | 23c8f586f0a81f7cfd8e4236aea0c5b567425552 /core/src/async_util/task_group.rs | |
parent | 681cfce4f412958dbb6dc8a1c07408826b4387a0 (diff) |
core: use mutex from parking_lot library
Diffstat (limited to 'core/src/async_util/task_group.rs')
-rw-r--r-- | core/src/async_util/task_group.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/core/src/async_util/task_group.rs b/core/src/async_util/task_group.rs index 5af75ed..63c1541 100644 --- a/core/src/async_util/task_group.rs +++ b/core/src/async_util/task_group.rs @@ -1,4 +1,6 @@ -use std::{future::Future, sync::Arc, sync::Mutex}; +use std::{future::Future, sync::Arc}; + +use parking_lot::Mutex; use crate::async_runtime::{global_executor, Executor, Task}; @@ -67,17 +69,17 @@ impl TaskGroup { callback, self.stop_signal.clone(), ); - self.tasks.lock().unwrap().push(task); + self.tasks.lock().push(task); } /// Checks if the TaskGroup is empty. pub fn is_empty(&self) -> bool { - self.tasks.lock().unwrap().is_empty() + self.tasks.lock().is_empty() } /// Get the number of the tasks in the group. pub fn len(&self) -> usize { - self.tasks.lock().unwrap().len() + self.tasks.lock().len() } /// Cancels all tasks in the group. @@ -85,7 +87,7 @@ impl TaskGroup { self.stop_signal.broadcast().await; loop { - let task = self.tasks.lock().unwrap().pop(); + let task = self.tasks.lock().pop(); if let Some(t) = task { t.cancel().await } else { |