mirror of
https://github.com/apache/nuttx.git
synced 2026-09-07 17:36:38 +00:00
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>
34 lines
1,005 B
Text
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
|