zephyr/lib
Christopher Friedt 3ff7c04f30 posix: timer: use async pthread cancellation
Previously, Zephyr's POSIX API did not differentiate between
deferred and asynchronous pthread cancellation. In fact all
pthread cancellation was asynchronous. According to the spec,
all pthreads should be created with deferred cancellation by
default.

Note: PTHREAD_CANCEL_ASYNCHRONOUS means cancel asynchronously
with respect to cancellation points (but synchronously with
respect to the thread that callse pthread_cancel(), which is
perhaps unintuitive).

The POSIX timer relied on this non-standard convention.

Oddly, this change prevents what would have otherwise been a
regression that would have been caused by fixing pthread
behaviour (in a separate commit).

We are effectively uncovering bugs which were probably always
present in the pthread.c and timer.c implementations going
back quite a few years.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-01-22 06:48:55 -05:00
..
acpi lib: acpi: Introduce HEAP_MEM_POOL_ADD_SIZE_ACPI option 2023-12-20 11:01:42 +01:00
cpp llvm: Add support for LLVM libc++ C++ Standard Library 2023-10-20 14:59:31 +02:00
crc lib: crc: address absence of crc4, crc4_ti in crc_types array 2024-01-03 10:20:14 +01:00
hash lib: hash: use new c++ Kconfig symbols 2023-07-26 14:53:51 +02:00
heap lib: heap: move heap stats to own file 2023-12-13 17:27:54 -05:00
libc ARCMWDT: Add headers for POSIX compatibility 2023-12-19 08:53:51 -06:00
mem_blocks lib: mem_block: move to own folder 2023-12-13 17:27:54 -05:00
open-amp open-amp: Fix compilation with cache enabled 2023-04-18 12:12:56 +02:00
os lib: os: cbprintf: Fix size miscalculation in cbprintf_convert 2023-12-28 12:18:50 +00:00
posix posix: timer: use async pthread cancellation 2024-01-22 06:48:55 -05:00
runtime llvm: Add support for selecting runtime library 2023-08-03 19:35:11 +02:00
smf lib: smf: fix include 2022-05-25 11:14:18 +09:00
utils lib: move utilities into own folder 2023-12-22 09:54:12 +01:00
CMakeLists.txt lib posix: Allow building the POSIX_API library without the host libC 2023-12-28 09:58:23 -05:00
Kconfig lib: move utilities into own folder 2023-12-22 09:54:12 +01:00