diff --git a/artiq/firmware/runtime/Cargo.toml b/artiq/firmware/runtime/Cargo.toml index ca624e3b6..a29acbb86 100644 --- a/artiq/firmware/runtime/Cargo.toml +++ b/artiq/firmware/runtime/Cargo.toml @@ -31,7 +31,7 @@ smoltcp = { version = "0.6.0", default-features = false, features = ["alloc", "e riscv = { version = "0.6.0", features = ["inline-asm"] } [dependencies.fringe] -git = "https://github.com/m-labs/libfringe" -rev = "b8a6d8f" +git = "https://git.m-labs.hk/M-Labs/libfringe.git" +rev = "9748bb" default-features = false features = ["alloc"] diff --git a/artiq/firmware/runtime/sched.rs b/artiq/firmware/runtime/sched.rs index a63ad3332..43dae0f55 100644 --- a/artiq/firmware/runtime/sched.rs +++ b/artiq/firmware/runtime/sched.rs @@ -50,7 +50,7 @@ enum WaitResult { #[derive(Debug)] struct Thread { - generator: Generator, + generator: Generator<'static, WaitResult, WaitRequest, OwnedStack>, waiting_for: WaitRequest, interrupted: bool } @@ -194,7 +194,7 @@ impl Scheduler { #[derive(Clone)] pub struct Io<'a> { - yielder: Option<&'a Yielder>, + yielder: Option<&'a Yielder>, spawned: Urc>>, sockets: Urc>, } @@ -207,7 +207,7 @@ impl<'a> Io<'a> { handle } - fn yielder(&self) -> &'a Yielder { + fn yielder(&self) -> &'a Yielder { self.yielder.expect("cannot suspend the scheduler thread") }