about summary refs log tree commit diff
path: root/library/std/src/sys/thread/vexos.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/std/src/sys/thread/vexos.rs')
-rw-r--r--library/std/src/sys/thread/vexos.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/library/std/src/sys/thread/vexos.rs b/library/std/src/sys/thread/vexos.rs
new file mode 100644
index 00000000000..d917dde4d0b
--- /dev/null
+++ b/library/std/src/sys/thread/vexos.rs
@@ -0,0 +1,17 @@
+use crate::time::{Duration, Instant};
+
+pub fn yield_now() {
+    unsafe {
+        vex_sdk::vexTasksRun();
+    }
+}
+
+pub fn sleep(dur: Duration) {
+    let start = Instant::now();
+
+    while start.elapsed() < dur {
+        unsafe {
+            vex_sdk::vexTasksRun();
+        }
+    }
+}