From aa7b044fec821420d1a3591aad8a34dff2a435a4 Mon Sep 17 00:00:00 2001 From: LLeny Date: Sun, 17 Nov 2024 09:19:54 +0800 Subject: [PATCH] Fixes #11 --- src/mikey/uart/comlynx_cable_shared_memory.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/mikey/uart/comlynx_cable_shared_memory.rs b/src/mikey/uart/comlynx_cable_shared_memory.rs index 933576a..80ae035 100644 --- a/src/mikey/uart/comlynx_cable_shared_memory.rs +++ b/src/mikey/uart/comlynx_cable_shared_memory.rs @@ -16,7 +16,16 @@ impl ComlynxCable { unsafe { *m.as_ptr() = RedeyeStatus::High.into() }; m }, - Err(ShmemError::LinkExists) => ShmemConf::new().flink("redeye").open().unwrap(), + Err(ShmemError::LinkExists) => match ShmemConf::new().flink("redeye").open() { + Ok(s) => s, + Err(_) => match ShmemConf::new().size(32).flink("redeye").force_create_flink().create() { + Ok(m) => { + unsafe { *m.as_ptr() = RedeyeStatus::High.into() }; + m + }, + Err(e) => panic!("Unable to create or open shmem flink 'redeye' : {}", e), + } + }, Err(e) => panic!("Unable to create or open shmem flink 'redeye' : {}", e) }; ComlynxCable { shmem }