1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/sys
Marian Buschsieweke c790e2eb6d
sys/malloc_thread_safety: use mutex
Disabling IRQs during malloc() provides mutually exclusive access and even is
safe from IRQ context, but is suboptimal for real time scenarios. Instead, the
implementation is changed to use a mutex to provide mutually exclusive access.

As a result, calls to malloc() and free() from IRQ context no longer is
possible. But this this is a really horrible idea to begin with, the impact
should be minimal and the improved real time properties of the system should
make it a good trade-off. An assert() is added to allow easy detection of
regressions and, hence, aid users to fix their code.
2020-12-17 15:39:05 +01:00
..
analog_util sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
app_metadata
arduino Merge pull request #15314 from aabadie/pr/sys/arduino_print_float 2020-11-17 16:15:39 +01:00
auto_init sys/auto_init/multimedia: add module to Kconfig 2020-12-02 10:12:17 +01:00
base64 sys/base64: Improved implementation 2020-07-06 09:16:24 +02:00
benchmark sys/benchmark: add module to Kconfig 2020-11-06 15:57:55 +01:00
bitfield
bloom
bus sys/bus: add system buses 2020-11-12 22:50:53 +01:00
can sys/*: ENABLE_DEBUG not needed for inttypes.h 2020-11-02 21:49:39 +01:00
cb_mux
checksum sys/checksum: add module to Kconfig 2020-11-27 09:20:05 +01:00
clif sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
color sys/color: add module to Kconfig 2020-11-18 18:38:44 +01:00
cpp11-compat sys: Cleanup access to internal variables 2020-08-24 20:28:11 +02:00
crypto sys/*: add missing include of assert.h 2020-10-22 11:13:09 +02:00
cxx_ctor_guards sys/cxx_ctor_guards: Add guard for c++ ctors 2020-07-23 20:24:47 +02:00
div sys/div: Add module to Kconfig 2020-11-06 15:57:52 +01:00
ecc sys/*: replace #if ENABLE_DEBUG with IS_ACTIVE 2020-11-02 21:49:39 +01:00
eepreg
embunit sys/embunit/Kconfig: make module available only for testing 2020-12-02 10:14:43 +01:00
entropy_source sys/entropy_source: add new module for entropy sources 2020-12-01 15:51:40 +01:00
event Merge pull request #15471 from maribu/event-threads-multi 2020-12-03 21:04:36 +01:00
evtimer sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
fmt sys/fmt/Kconfig: make module available only for testing 2020-12-02 10:14:43 +01:00
frac sys/frac/frac.c: add missing inttypes.h include 2020-11-20 10:49:48 +01:00
fs sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
fuzzing sys/*: add missing include of assert.h 2020-10-22 11:13:09 +02:00
hashes Merge pull request #15199 from fjmolinas/pbkdf2-sha256 2020-11-04 14:45:12 +01:00
include Merge pull request #15592 from maribu/ztimer_mutex_lock_timeout 2020-12-09 17:48:51 +01:00
iolist
isrpipe drivers/at: add modules to Kconfig 2020-11-18 18:38:48 +01:00
libc/include/sys
log picolibc: Use most NEWLIB code with picolibc 2020-08-24 08:26:16 -07:00
luid sys/*: remove unused assert.h include 2020-10-22 11:29:27 +02:00
malloc_thread_safe sys/malloc_thread_safety: use mutex 2020-12-17 15:39:05 +01:00
matstat sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
memarray sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
mineplex
net gnrc/lorawan: use byteorder_htoll() 2020-12-09 14:21:56 +01:00
newlib_syscalls_default makefiles: avoid building archives when compiling 2020-09-04 15:01:10 +02:00
od sys/od: add Kconfig 2020-11-10 14:21:47 +01:00
oneway-malloc sys/oneway-malloc: check calloc args 2020-11-19 10:02:50 +01:00
phydat sys/phydat: add module to Kconfig 2020-11-25 12:00:13 +01:00
picolibc_syscalls_default Merge pull request #14843 from benpicco/picolibc_stdio_offset 2020-09-11 18:04:01 +02:00
pipe sys/pipe/pipe_dynamic: fix possible null pointer dereference 2020-09-11 11:19:58 +02:00
pm_layered sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
posix all: remove traces of kernel_types.h 2020-11-25 17:52:34 +01:00
progress_bar sys/*: remove unused assert.h include 2020-10-22 11:29:27 +02:00
ps sys/ps: make use of thread_is_active() 2020-11-25 20:49:00 +01:00
puf_sram sys/puf_sram: counter based reseed after soft reset 2020-01-20 14:14:09 +01:00
quad_math
random sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
riotboot riotboot: use log level ERROR if riotboot_flashwrite_finish_raw() fails 2020-11-18 18:04:59 +01:00
saul_reg sys/saul_reg: add module to Kconfig 2020-11-25 12:00:14 +01:00
schedstatistics sys/schedstatistics: add module to Kconfig 2020-11-06 15:57:55 +01:00
sema sys/sema: add missing limits.h 2020-11-23 16:56:34 +01:00
seq
shell Merge pull request #15443 from benpicco/l2util_addr 2020-12-02 09:21:16 +01:00
ssp sys/ssp: use a random value as the canary 2020-01-20 14:51:26 +01:00
stdio_null sys: stdio_null: add null driver 2019-11-26 21:12:41 +01:00
stdio_rtt
stdio_semihosting stdio_semihosting: Initial include of Semihosting-based STDIO 2020-06-09 10:15:49 +02:00
stdio_uart
suit suit/transport/coap: make blocksize configurable 2020-12-03 10:51:42 +01:00
test_utils sys/test_utils: add modules to Kconfig 2020-11-06 15:57:49 +01:00
timex sys/*: replace #if ENABLE_DEBUG with IS_ACTIVE 2020-11-02 21:49:39 +01:00
trace sys/trace: initial commit 2020-06-10 21:21:33 +02:00
trickle sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
tsrb sys/tsrb: Add module to Kconfig 2020-11-06 15:57:53 +01:00
universal_address sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
uri_parser uri_parser: parse interface in IPv6 addresses 2020-11-11 22:47:30 +01:00
usb Merge pull request #15566 from dylad/pr/usbus/string_descr_for_alt_if 2020-12-09 14:52:40 +01:00
usb_board_reset sys/usb_board_reset: add usb_board_reset_in_bootloader definition 2020-07-01 10:30:17 +02:00
uuid
vfs all: adapt to moved sched defines 2020-11-23 16:56:34 +01:00
xtimer sys/xtimer: clean up xtimer_mutex_lock_timeout 2020-12-08 22:03:57 +01:00
zptr sys: zptr: initial commit 2020-02-11 13:59:59 +01:00
ztimer sys/ztimer: drop unused internal typedef 2020-12-08 22:54:39 +01:00
doc.txt
Kconfig sys/malloc_thread_safe: split out of cpu/atmega_common 2020-12-17 15:39:05 +01:00
Kconfig.newlib treewide: change Kconfig prefix for module symbols 2020-08-31 09:57:28 +02:00
Kconfig.stdio sys/Kconfig.stdio: add printf_float module 2020-12-02 10:13:10 +01:00
Makefile sys/bus: add system buses 2020-11-12 22:50:53 +01:00
Makefile.dep sys: Add IEEE 802.15.4 security 2020-12-04 09:40:55 +01:00
Makefile.include sys/malloc_thread_safe: split out of cpu/atmega_common 2020-12-17 15:39:05 +01:00