aboutsummaryrefslogtreecommitdiffstats
path: root/os/various/lwip_bindings/arch/sys_arch.c
diff options
context:
space:
mode:
Diffstat (limited to 'os/various/lwip_bindings/arch/sys_arch.c')
-rw-r--r--os/various/lwip_bindings/arch/sys_arch.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/os/various/lwip_bindings/arch/sys_arch.c b/os/various/lwip_bindings/arch/sys_arch.c
index 414a8e7a0..57ed14124 100644
--- a/os/various/lwip_bindings/arch/sys_arch.c
+++ b/os/various/lwip_bindings/arch/sys_arch.c
@@ -90,6 +90,14 @@ void sys_sem_signal(sys_sem_t *sem) {
chSemSignal(*sem);
}
+/* CHIBIOS FIX: specific variant of this call to be called from within
+ a lock.*/
+void sys_sem_signal_S(sys_sem_t *sem) {
+
+ chSemSignalI(*sem);
+ chSchRescheduleS();
+}
+
u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout) {
systime_t time, tmo;