about summary refs log tree commit diff
path: root/library/std/src/sys
diff options
context:
space:
mode:
Diffstat (limited to 'library/std/src/sys')
-rw-r--r--library/std/src/sys/xous/thread_parking.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/library/std/src/sys/xous/thread_parking.rs b/library/std/src/sys/xous/thread_parking.rs
index 3e77ecf0c73..aa39c6d2718 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();
+    }
+}