nuttx/libs/libc/wqueue/Kconfig
DuoYuWang ae5997eef7 libc/wqueue: support custom user work queues
Implement the handle-based create, queue, priority, cancellation, and
teardown APIs for CONFIG_LIBC_USRWORK.  Custom queues use configurable
pthread worker pools while the predefined USRWORK queue remains available.

Match scheduler-backend delay, replacement, cancellation, and lifecycle
semantics.  Restrict the libc backend to task context because it uses
blocking synchronization.

Tested on an STM32H7 PX4 FMUv6C with ostest wqueue in Protected user space.

Assisted-by: Codex:GPT-5
Signed-off-by: DuoYuWang <thirteenking.wang@gmail.com>
2026-09-04 23:02:48 +08:00

34 lines
1,005 B
Text

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
menu "User Work Queue Support"
depends on !BUILD_FLAT
config LIBC_USRWORK
bool "User mode worker thread"
default n
depends on BUILD_PROTECTED || !DISABLE_PTHREAD
---help---
User-space work queues provide deferred processing in protected and
kernel builds. Dynamically allocated user-mode work queues require
pthread support. The predefined protected-build USRWORK queue does
not require pthread support.
if LIBC_USRWORK
config LIBC_USRWORKPRIORITY
int "User mode priority worker thread priority"
default 100
---help---
The execution priority of the user-mode priority worker thread. Default: 100
config LIBC_USRWORKSTACKSIZE
int "User mode worker thread stack size"
default DEFAULT_TASK_STACKSIZE
---help---
The stack size allocated for the lower priority worker thread. Default: 2K.
endif # LIBC_USRWORK
endmenu # User Work Queue Support