diff --git a/services/ticktimer-server/src/lib.rs b/services/ticktimer-server/src/lib.rs index cba2a0685..b6dc89bac 100644 --- a/services/ticktimer-server/src/lib.rs +++ b/services/ticktimer-server/src/lib.rs @@ -37,3 +37,11 @@ impl Ticktimer { ).map(|_| ()) } } + +impl Drop for Ticktimer { + fn drop(&mut self) { + // de-allocate myself. It's unsafe because we are responsible to make sure nobody else is using the connection. + unsafe{xous::disconnect(self.conn).unwrap();} + + } +} \ No newline at end of file diff --git a/services/trng/src/lib.rs b/services/trng/src/lib.rs index fd70dcfa2..73df169ba 100644 --- a/services/trng/src/lib.rs +++ b/services/trng/src/lib.rs @@ -37,3 +37,11 @@ impl Trng { } } } + +impl Drop for Trng { + fn drop(&mut self) { + // de-allocate myself. It's unsafe because we are responsible to make sure nobody else is using the connection. + unsafe{xous::disconnect(self.conn).unwrap();} + + } +} \ No newline at end of file diff --git a/services/xous-names/src/lib.rs b/services/xous-names/src/lib.rs index bc0e1dcd6..1e9a17a5b 100644 --- a/services/xous-names/src/lib.rs +++ b/services/xous-names/src/lib.rs @@ -75,3 +75,11 @@ impl XousNames { } } } + +impl Drop for XousNames { + fn drop(&mut self) { + // de-allocate myself. It's unsafe because we are responsible to make sure nobody else is using the connection. + unsafe{xous::disconnect(self.conn).unwrap();} + + } +} \ No newline at end of file diff --git a/xtask/src/main.rs b/xtask/src/main.rs index dfb2e1974..13caa1399 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -48,7 +48,8 @@ fn try_main() -> Result<(), DynError> { "xous-names", //"keyboard", "trng", - "llio", + + "llio", // still to convert "rkyv-test-client", "rkyv-test-server", ];