tests: some tests don't work with newlib
lock functions.
#12732
Labels
Area: tests
Area: tests and testing framework
Type: bug
The issue reports a bug / The PR fixes a bug (including spelling errors)
Description
The following test applications call
puts
inside an ISR which can lead to problems whennewlib
's locking functions are implemented by the platform:tests/isr_yield_higher
tests/periph_rtc
Background
newlib
's reentrant versions of system calls use lock functions for different lock objects. For example,puts
locks thestdout
file using_lock_acquire_recursive
. While the lock functions in single-thread environments are only dummies, these functions would have to be implemented by the operating system in multi-thread environments.The only reasonable way in RIOT to realize these lock functions
seems to be RIOT's built-in mechanism
mutex
andrmutex
. Sincemutex
andrmutex
don't work in interrupt context, system calls must not be used in ISRs.The problem was found out in PR #11108.
Steps to reproduce
Enable locking functions in
cpu/esp8266/syscalls.c
in PR #11108 and flashtests/isr_yield_higher
The text was updated successfully, but these errors were encountered: