diff --git a/library/std/src/sys/xous/thread_parking.rs b/library/std/src/sys/xous/thread_parking.rs index 3e77ecf0c7342..aa39c6d27185f 100644 --- a/library/std/src/sys/xous/thread_parking.rs +++ b/library/std/src/sys/xous/thread_parking.rs @@ -1,4 +1,4 @@ -use crate::os::xous::ffi::blocking_scalar; +use crate::os::xous::ffi::{blocking_scalar, scalar}; use crate::os::xous::services::{ticktimer_server, TicktimerScalar}; use crate::pin::Pin; use crate::ptr; @@ -86,3 +86,9 @@ impl Parker { } } } + +impl Drop for Parker { + fn drop(&mut self) { + scalar(ticktimer_server(), TicktimerScalar::FreeCondition(self.index()).into()).ok(); + } +}