diff --git a/ext/lwip-1.4.1.zip b/ext/lwip-1.4.1.zip deleted file mode 100644 index 9b6025ecc..000000000 Binary files a/ext/lwip-1.4.1.zip and /dev/null differ diff --git a/ext/lwip-1.4.1_patched.zip b/ext/lwip-1.4.1_patched.zip new file mode 100644 index 000000000..d236a40af Binary files /dev/null and b/ext/lwip-1.4.1_patched.zip differ 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;