MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / rt_thread_defunct_dequeue

Function rt_thread_defunct_dequeue

src/defunct.c:47–62  ·  view source on GitHub ↗

* @brief Dequeue a thread from defunct queue. */

Source from the content-addressed store, hash-verified

45 * @brief Dequeue a thread from defunct queue.
46 */
47rt_thread_t rt_thread_defunct_dequeue(void)
48{
49 rt_base_t level;
50 rt_thread_t thread = RT_NULL;
51 rt_list_t *l = &_rt_thread_defunct;
52
53 level = rt_spin_lock_irqsave(&_defunct_spinlock);
54 if (!rt_list_isempty(l))
55 {
56 thread = RT_THREAD_LIST_NODE_ENTRY(l->next);
57 rt_list_remove(&RT_THREAD_LIST_NODE(thread));
58 }
59 rt_spin_unlock_irqrestore(&_defunct_spinlock, level);
60
61 return thread;
62}
63
64/**
65 * @brief This function will perform system background job when system idle.

Callers 1

rt_defunct_executeFunction · 0.85

Calls 4

rt_list_isemptyFunction · 0.85
rt_list_removeFunction · 0.85
rt_spin_lock_irqsaveFunction · 0.70

Tested by

no test coverage detected