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

Function lwp_session_remove

components/lwp/lwp_session.c:162–194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

160}
161
162int lwp_session_remove(rt_session_t session, rt_processgroup_t group)
163{
164 rt_bool_t is_empty = RT_FALSE;
165
166 /* parameter check */
167 if (session == RT_NULL || group == RT_NULL)
168 {
169 return -EINVAL;
170 }
171
172 SESS_LOCK_NESTED(session);
173 PGRP_LOCK_NESTED(group);
174
175 rt_list_remove(&(group->pgrp_list_node));
176 /* clear children sid */
177 lwp_pgrp_update_children_info(group, 0, group->pgid);
178 group->sid = 0;
179 group->session = RT_NULL;
180
181 PGRP_UNLOCK(group);
182
183 is_empty = rt_list_isempty(&(session->processgroup));
184
185 SESS_UNLOCK(session);
186
187 if (is_empty)
188 {
189 lwp_session_delete(session);
190 return 1;
191 }
192
193 return 0;
194}
195
196int lwp_session_move(rt_session_t session, rt_processgroup_t group)
197{

Callers 2

lwp_session_moveFunction · 0.85
lwp_pgrp_deleteFunction · 0.85

Calls 4

rt_list_removeFunction · 0.85
rt_list_isemptyFunction · 0.85
lwp_session_deleteFunction · 0.85

Tested by

no test coverage detected