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

Function lwp_pgrp_insert

components/lwp/lwp_pgrp.c:179–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177}
178
179int lwp_pgrp_insert(rt_processgroup_t group, rt_lwp_t process)
180{
181 /* parameter check */
182 if (group == RT_NULL || process == RT_NULL)
183 {
184 return -EINVAL;
185 }
186
187 PGRP_LOCK_NESTED(group);
188 LWP_LOCK_NESTED(process);
189 RT_ASSERT(rt_mutex_get_hold(&process->lwp_lock) <= rt_mutex_get_hold(&group->mutex));
190
191 process->pgid = group->pgid;
192 process->pgrp = group;
193 process->sid = group->sid;
194 rt_list_insert_after(&(group->process), &(process->pgrp_node));
195
196 LWP_UNLOCK(process);
197 PGRP_UNLOCK(group);
198
199 return 0;
200}
201
202int lwp_pgrp_remove(rt_processgroup_t group, rt_lwp_t process)
203{

Callers 3

lwp_execveFunction · 0.85
_sys_forkFunction · 0.85
lwp_pgrp_moveFunction · 0.85

Calls 1

rt_list_insert_afterFunction · 0.85

Tested by

no test coverage detected