Skip to content

Commit 8651f6d

Browse files
committed
reimplemented io worker to have original locking order for "deleting"
1 parent 2a2087c commit 8651f6d

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

crates/runtime/io/src/worker.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,13 @@ where
9494

9595
fn execute(self) -> future::FutureResult<(Self, bool), ()> {
9696
{
97+
let mut lock = self.wait_mutex.lock();
9798
if self.deleting.load(AtomicOrdering::SeqCst) {
99+
std::mem::drop(lock);
98100
return future::ok((self, false)); // Loop::Break(());// futures::future::err(Error::new(ErrorKind::Other, "shutting down worker")); // self; // Ok(Loop::Break(self));
99101
//return Ok() //Ok(Loop::Break(()));
100102
}
101-
let mut lock = self.wait_mutex.lock();
103+
102104
self.wait.wait(&mut lock);
103105
}
104106

0 commit comments

Comments
 (0)