From 92139a7965e8ded37c1d22be678211245e5978a5 Mon Sep 17 00:00:00 2001 From: Kaspar Schleiser Date: Thu, 6 Feb 2025 19:58:19 +0100 Subject: [PATCH] move getter of `thread_semaphore` into `preempt` --- esp-wifi/src/compat/common.rs | 2 +- esp-wifi/src/preempt/mod.rs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/esp-wifi/src/compat/common.rs b/esp-wifi/src/compat/common.rs index 9739358ad2..530867e557 100644 --- a/esp-wifi/src/compat/common.rs +++ b/esp-wifi/src/compat/common.rs @@ -250,7 +250,7 @@ pub(crate) fn sem_give(semphr: *mut c_void) -> i32 { pub(crate) fn thread_sem_get() -> *mut c_void { trace!("wifi_thread_semphr_get"); - unsafe { &mut ((*current_task()).thread_semaphore) as *mut _ as *mut c_void } + crate::preempt::current_task_thread_semaphore() } pub(crate) fn create_recursive_mutex() -> *mut c_void { diff --git a/esp-wifi/src/preempt/mod.rs b/esp-wifi/src/preempt/mod.rs index 5d09fa76a4..59bdc1a067 100644 --- a/esp-wifi/src/preempt/mod.rs +++ b/esp-wifi/src/preempt/mod.rs @@ -157,3 +157,9 @@ pub(crate) fn task_switch(trap_frame: &mut TrapFrame) { next_task(); restore_task_context(current_task(), trap_frame); } + +pub(crate) fn current_task_thread_semaphore() -> *mut crate::binary::c_types::c_void { + unsafe { + &mut ((*current_task()).thread_semaphore) as *mut _ as *mut crate::binary::c_types::c_void + } +}