MCPcopy Index your code
hub / github.com/RT-Thread/rt-thread / sigqueue_enqueue

Function sigqueue_enqueue

components/lwp/lwp_signal.c:252–271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

250}
251
252static void sigqueue_enqueue(lwp_sigqueue_t sigqueue, lwp_siginfo_t siginfo)
253{
254 lwp_siginfo_t idx;
255 rt_bool_t inserted = RT_FALSE;
256 rt_list_for_each_entry(idx, &sigqueue->siginfo_list, node)
257 {
258 if (idx->ksiginfo.signo >= siginfo->ksiginfo.signo)
259 {
260 rt_list_insert_after(&idx->node, &siginfo->node);
261 inserted = RT_TRUE;
262 break;
263 }
264 }
265
266 if (!inserted)
267 rt_list_insert_before(&sigqueue->siginfo_list, &siginfo->node);
268
269 _sigaddset(&sigqueue->sigset_pending, siginfo->ksiginfo.signo);
270 return ;
271}
272
273/**
274 * dequeue a siginfo matching the signo which is likely to be existed, and

Callers 3

_stop_thread_lockedFunction · 0.85
_siginfo_deliver_to_lwpFunction · 0.85

Calls 3

rt_list_insert_afterFunction · 0.85
rt_list_insert_beforeFunction · 0.85
_sigaddsetFunction · 0.85

Tested by

no test coverage detected