rt-thread/components/drivers/ipc
Shell c451dce820 feat: add ISR safe completion API
Since the completion is used to sync with ISR mostly, we should set the
default semantic to ISR-safe. So most user will be happy and don't see
any weird behavior in their codes.

Changes:
- Added `rt_completion_wait_noisr` and
  `rt_completion_wait_flags_noisr` functions in `completion.h`,
  `completion_comm.c`, `completion_mp.c`, and `completion_up.c`.
- The new APIs allow waiting for completions in non-ISR contexts
  while ensuring thread context safety.
- Existing documentation and comments were updated to clarify
  usage contexts and emphasize restrictions on ISR usage.

Signed-off-by: Shell <smokewood@qq.com>
2024-08-19 10:39:15 +08:00
..
Kconfig [ipc] support of lockless rt_completion (#8887) 2024-05-08 09:25:57 +08:00
SConscript [ipc] support of lockless rt_completion (#8887) 2024-05-08 09:25:57 +08:00
completion_comm.c feat: add ISR safe completion API 2024-08-19 10:39:15 +08:00
completion_mp.c feat: add ISR safe completion API 2024-08-19 10:39:15 +08:00
completion_up.c feat: add ISR safe completion API 2024-08-19 10:39:15 +08:00
condvar.c sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
dataqueue.c [ipc] [dataqueue] 修复队列 pop 挂起的线程 push 无法恢复运行的错误 (#8839) 2024-04-22 20:20:35 +08:00
pipe.c [ipc]修复pipe创建失败时的资源异常释放 2024-06-06 09:42:16 +08:00
ringblk_buf.c 如果申请空间不足,申请不到合适的空间,需要回收new_rbb 2024-05-27 11:28:45 +08:00
ringbuffer.c [drivers/ipc] fix the recursive including if legacy enabled 2023-07-28 22:17:40 -04:00
waitqueue.c sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
workqueue.c [timer]add all soft timer config (#9048) 2024-06-20 04:20:38 +08:00