diff options
Diffstat (limited to 'helix-term/src/job.rs')
-rw-r--r-- | helix-term/src/job.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/helix-term/src/job.rs b/helix-term/src/job.rs index c2873513..2ac41926 100644 --- a/helix-term/src/job.rs +++ b/helix-term/src/job.rs @@ -16,9 +16,9 @@ pub struct Job { #[derive(Default)] pub struct Jobs { - futures: FuturesUnordered<JobFuture>, + pub futures: FuturesUnordered<JobFuture>, /// These are the ones that need to complete before we exit. - wait_futures: FuturesUnordered<JobFuture>, + pub wait_futures: FuturesUnordered<JobFuture>, } impl Job { @@ -77,11 +77,11 @@ impl Jobs { } } - pub fn next_job( - &mut self, - ) -> impl Future<Output = Option<anyhow::Result<Option<Callback>>>> + '_ { - future::select(self.futures.next(), self.wait_futures.next()) - .map(|either| either.factor_first().0) + pub async fn next_job(&mut self) -> Option<anyhow::Result<Option<Callback>>> { + tokio::select! { + event = self.futures.next() => { event } + event = self.wait_futures.next() => { event } + } } pub fn add(&mut self, j: Job) { |