Skip to content

Commit 12d90c1

Browse files
refactor: change ExporterManager
1 parent 72e56a3 commit 12d90c1

1 file changed

Lines changed: 8 additions & 10 deletions

File tree

libdd-profiling/src/exporter/exporter_manager.rs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
use super::ProfileExporter;
55
use crate::{exporter::File, internal::EncodedProfile};
6-
use anyhow::Context;
76
use crossbeam_channel::{Receiver, Sender};
87
use libdd_common::tag::Tag;
98
use reqwest::RequestBuilder;
@@ -15,7 +14,7 @@ pub enum ExporterManager {
1514
Active {
1615
cancel: CancellationToken,
1716
exporter: ProfileExporter,
18-
handle: JoinHandle<anyhow::Result<()>>,
17+
handle: JoinHandle<()>,
1918
sender: Sender<RequestBuilder>,
2019
receiver: Receiver<RequestBuilder>,
2120
},
@@ -35,9 +34,13 @@ impl ExporterManager {
3534
let cloned_receiver: Receiver<RequestBuilder> = receiver.clone();
3635
let cloned_cancel = cancel.clone();
3736
let handle = std::thread::spawn(move || {
38-
let runtime = tokio::runtime::Builder::new_current_thread()
37+
let Ok(runtime) = tokio::runtime::Builder::new_current_thread()
3938
.enable_all()
40-
.build()?;
39+
.build()
40+
else {
41+
return;
42+
};
43+
4144
runtime.block_on(async {
4245
loop {
4346
let Ok(msg) = cloned_receiver.recv() else {
@@ -53,7 +56,6 @@ impl ExporterManager {
5356
// TODO: Add logging for failed uploads.
5457
}
5558
});
56-
Ok(())
5759
});
5860
Ok(Self::Active {
5961
cancel,
@@ -84,14 +86,10 @@ impl ExporterManager {
8486
drop(sender);
8587

8688
match handle.join() {
87-
Ok(Ok(())) => {
89+
Ok(()) => {
8890
*self = Self::Suspended { exporter, inflight };
8991
Ok(())
9092
}
91-
Ok(Err(e)) => {
92-
*self = Self::Suspended { exporter, inflight };
93-
Err(e).context("worker thread returned error")
94-
}
9593
Err(_) => {
9694
*self = Self::Suspended { exporter, inflight };
9795
Err(anyhow::anyhow!("unable to join thread"))

0 commit comments

Comments
 (0)