zephyr/include
Robert Lubos 43a3b7ed27 net: openthread: Protect OT API calls from being preempted
OpenThread API is not thread safe, therefore it shall be protected
from being preempted by OT thread, or other thread issuing API calls.
The problem showed up after a recent OpenThread upmerge, where changes
in the Joiner class made this problem visible. W/o extra protection,
`otJoinerStart` call can be preempted by the OT thread, leading to an
unexpected behavior.

Introduce new function to allow to lock any API operations for others.
Anyone willing to call OT APIs, shall lock the mutex first to get
exclusive access to the stack.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2020-07-27 19:04:43 +02:00
..
app_memory userspace: mark z_app_regions as const 2020-07-20 13:47:10 +02:00
arch ARC: replace NOP ASM inlines with builtin 2020-07-24 12:05:12 +02:00
audio zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
bluetooth Bluetooth: Mesh: Document shell commands 2020-07-20 12:47:31 +02:00
canbus zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
cmsis_rtos_v1 all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
cmsis_rtos_v2 global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
console zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
crypto zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
data json: Add top-level array encoding support 2020-06-19 18:21:27 +02:00
debug debug: thread_analyzer: Implement thread analyzer 2020-04-28 09:11:13 -04:00
devicetree devicetree.h: pwms: Add DT_ macros for retrieving pwm period 2020-05-29 14:48:12 +02:00
dfu dfu: flash_img: Constify flash_img_buffered_write() data parameter 2020-06-10 09:30:08 +02:00
disk zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
display zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
drivers dma: Support 64bit source/dest address 2020-07-24 11:54:31 +02:00
dt-bindings dts: bindings: Add bindings for Semtech SX126x 2020-07-02 08:32:37 -04:00
fs subsys/fs/nvs: Move write_block_size to flash_parameters 2020-06-22 14:35:03 +02:00
linker net: Use section foreach macros 2020-07-20 08:32:46 -07:00
logging logging: Add fields initialization in z_log_msg_std_alloc 2020-07-09 13:46:07 +02:00
mgmt mgmt: smp: add missing kernel.h include statement 2020-07-18 08:43:18 -04:00
net net: openthread: Protect OT API calls from being preempted 2020-07-27 19:04:43 +02:00
posix lib: posix: nanosleep 2020-06-12 17:02:03 +02:00
power zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
random random: Add syscalls for random subsystem 2020-07-08 21:05:36 -04:00
settings settings: disallow modifying the content of a static subtree name 2020-07-27 19:03:44 +02:00
shell tests: shell: shell_flash: Add a test for 'flash read' 2020-07-07 17:19:26 -04:00
stats zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
storage includes/storage/stream_flash: clarification on API usage 2020-06-13 11:57:35 +02:00
sys include: libc-hooks: add comments 2020-07-23 11:01:42 +02:00
toolchain linker: add iterable section macros 2020-06-24 17:09:22 -04:00
tracing zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
usb zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
zephyr zephyr: Use deprecated instead of legacy for Kconfig int types 2020-06-09 06:49:56 -05:00
cache.h include: Implement API's for cache flush and cache invalidate 2020-07-15 15:53:26 -07:00
device.h kernel: add macros for device MMIO management 2020-07-17 11:38:18 +02:00
devicetree.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
exc_handle.h kernel: rename z_arch_ to arch_ 2019-11-07 15:21:46 -08:00
fatal.h doc: fix misspelling in API doxygen comments 2019-10-29 06:00:14 +01:00
generated_dts_board.h dts: Add include/generated_dts_board.h for backwards compatibility 2020-01-17 17:57:59 +01:00
init.h device: Fix structure documentation 2020-06-23 18:57:23 -04:00
irq.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
irq_nextlevel.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
irq_offload.h kernel: sychronize irq_offload() access 2019-11-08 15:16:43 -08:00
kernel.h doc: fix usage of :c:type 2020-07-16 15:44:50 -04:00
kernel_includes.h random: Include header where it is used 2020-07-08 21:05:36 -04:00
kernel_structs.h kernel/timeout: Fix 32 bit rollover conditions 2020-06-18 13:21:06 +02:00
kernel_version.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
mempool_heap.h sys_heap: reduce the size of struct z_heap_bucket by half 2020-06-21 19:25:35 +02:00
mempool_sys.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
ptp_clock.h scripts: Replace hard-coded subsystem list with __subsystem annotations. 2020-03-11 17:13:39 +02:00
sched_priq.h cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
shared_irq.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
spinlock.h include: Add documentation for spinlocks 2020-05-08 10:46:44 +02:00
sw_isr_table.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
sys_clock.h api: Fix narrowing conversion C++ compilation warning in Z_TIMEOUT_TICKS 2020-06-30 12:21:41 -05:00
syscall.h global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
syscall_handler.h userspace: add z_is_in_user_syscall() 2020-06-03 22:33:32 +02:00
timeout_q.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
toolchain.h toolchain: Fix for off-tree toolchains 2019-10-08 17:09:23 -04:00
wait_q.h headers: Refactor kernel and arch headers. 2019-11-06 16:07:32 -08:00
zephyr.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00