| 194 | } |
| 195 | |
| 196 | int lwp_session_move(rt_session_t session, rt_processgroup_t group) |
| 197 | { |
| 198 | rt_session_t prev_session; |
| 199 | |
| 200 | /* parameter check */ |
| 201 | if (session == RT_NULL || group == RT_NULL) |
| 202 | { |
| 203 | return -EINVAL; |
| 204 | } |
| 205 | |
| 206 | if (lwp_sid_get_bysession(session) == lwp_sid_get_bypgrp(group)) |
| 207 | { |
| 208 | return 0; |
| 209 | } |
| 210 | |
| 211 | SESS_LOCK(session); |
| 212 | |
| 213 | prev_session = group->session; |
| 214 | if (prev_session) |
| 215 | { |
| 216 | SESS_LOCK(prev_session); |
| 217 | lwp_session_remove(prev_session, group); |
| 218 | SESS_UNLOCK(prev_session); |
| 219 | } |
| 220 | |
| 221 | lwp_session_insert(session, group); |
| 222 | |
| 223 | SESS_UNLOCK(session); |
| 224 | |
| 225 | return 0; |
| 226 | } |
| 227 | |
| 228 | int lwp_session_update_children_info(rt_session_t session, pid_t sid) |
| 229 | { |
no test coverage detected