From db84eaac5ceaa0105422c3185e08a7637e8d97e0 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 28 Feb 2022 13:51:18 -0500 Subject: convert to std::sync::Mutex and remove a lot of unnecessary async --- src/shell/event.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/shell/event.rs') diff --git a/src/shell/event.rs b/src/shell/event.rs index b159a95..e80cdef 100644 --- a/src/shell/event.rs +++ b/src/shell/event.rs @@ -43,9 +43,9 @@ impl Reader { let inner = inner.clone(); tokio::task::spawn(async move { while let Some(event) = input.recv().await { - inner.new_event(Some(event)).await; + inner.new_event(Some(event)); } - inner.new_event(None).await; + inner.new_event(None); }); } Self(inner) @@ -57,29 +57,29 @@ impl Reader { } struct InnerReader { - pending: tokio::sync::Mutex, + pending: std::sync::Mutex, cvar: tokio::sync::Notify, } impl InnerReader { fn new() -> Self { Self { - pending: tokio::sync::Mutex::new(Pending::new()), + pending: std::sync::Mutex::new(Pending::new()), cvar: tokio::sync::Notify::new(), } } async fn recv(&self) -> Option { loop { - if let Some(event) = self.pending.lock().await.get_event() { + if let Some(event) = self.pending.lock().unwrap().get_event() { return event; } self.cvar.notified().await; } } - async fn new_event(&self, event: Option) { - self.pending.lock().await.new_event(event); + fn new_event(&self, event: Option) { + self.pending.lock().unwrap().new_event(event); self.cvar.notify_one(); } } -- cgit v1.2.3-54-g00ecf