nuttx/sched/mqueue
Tiago Medicci Serrano 9cf7d80bab sched/mqueue: Enable receiving messages on an interrupt handler
The internal implementation of `file_mq_receive` did not allow
receiving a message from an interrupt handler. Although it is not
possible to wait for a message in an interrupt context, it is
perfectly possible to retrieve already-existing messages from the
message queue. This commit modifies file_mq_timedreceive_internal
to enable checking the message list and, if no messages exist, it
returns immediately. This enables receiving any existing messages
in an interrupt context.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2026-02-11 13:10:31 -05:00
..
CMakeLists.txt sched/mqueue/CMakeLists.txt: fix compilation for CONFIG_DISABLE_MQUEUE_SYSV=n 2025-01-17 23:14:39 +08:00
Make.defs mqueue: refactor of mqueue 2024-09-29 18:18:01 +08:00
mq_getattr.c fs/file: unify prefix about file_xxx api, like file_open, file_ioctl 2025-06-12 18:12:42 +08:00
mq_initialize.c sched: unify Private Types banners 2025-05-28 10:17:15 +08:00
mq_msgfree.c sched: remove all spin_lock_irqsave(NULL) 2025-01-06 23:11:44 +08:00
mq_msgqalloc.c
mq_msgqfree.c
mq_notify.c fs/file: unify prefix about file_xxx api, like file_open, file_ioctl 2025-06-12 18:12:42 +08:00
mq_rcvinternal.c sched: After nxsched_add_readytorun, change first parameter to up_switch_context to this_task() 2025-08-20 10:16:43 +08:00
mq_receive.c sched/mqueue: Enable receiving messages on an interrupt handler 2026-02-11 13:10:31 -05:00
mq_recover.c
mq_send.c fs/file: unify prefix about file_xxx api, like file_open, file_ioctl 2025-06-12 18:12:42 +08:00
mq_setattr.c fs/file: unify prefix about file_xxx api, like file_open, file_ioctl 2025-06-12 18:12:42 +08:00
mq_sndinternal.c sched: After nxsched_add_readytorun, change first parameter to up_switch_context to this_task() 2025-08-20 10:16:43 +08:00
mq_waitirq.c sched: After nxsched_add_readytorun, change first parameter to up_switch_context to this_task() 2025-08-20 10:16:43 +08:00
mqueue.h sched: remove all spin_lock_irqsave(NULL) 2025-01-06 23:11:44 +08:00
msg.h
msgctl.c
msgget.c
msginternal.c
msgrcv.c sched: After nxsched_add_readytorun, change first parameter to up_switch_context to this_task() 2025-08-20 10:16:43 +08:00
msgsnd.c sched: After nxsched_add_readytorun, change first parameter to up_switch_context to this_task() 2025-08-20 10:16:43 +08:00