Skip to content

Commit 7dc83db

Browse files
committed
simln-lib: use TaskTracker instead of JoinSet in produce_simulation_results
1 parent 241de5e commit 7dc83db

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

simln-lib/src/lib.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ use tokio::sync::mpsc::{channel, Receiver, Sender};
2121
use tokio::sync::Mutex;
2222
use tokio::task::JoinSet;
2323
use tokio::{select, time, time::Duration};
24+
use tokio_util::task::TaskTracker;
2425
use triggered::{Listener, Trigger};
2526

2627
use self::defined_activity::DefinedPaymentActivity;
@@ -1346,7 +1347,7 @@ async fn produce_simulation_results(
13461347
results: Sender<(Payment, PaymentResult)>,
13471348
listener: Listener,
13481349
) -> Result<(), SimulationError> {
1349-
let mut set = tokio::task::JoinSet::new();
1350+
let set = TaskTracker::new();
13501351

13511352
let result = loop {
13521353
tokio::select! {
@@ -1390,12 +1391,9 @@ async fn produce_simulation_results(
13901391
}
13911392
};
13921393

1394+
set.close();
1395+
set.wait().await;
13931396
log::debug!("Simulation results producer exiting.");
1394-
while let Some(res) = set.join_next().await {
1395-
if let Err(e) = res {
1396-
log::error!("Simulation results producer task exited with error: {e}.");
1397-
}
1398-
}
13991397

14001398
result
14011399
}

0 commit comments

Comments
 (0)