Lines Matching refs:child

841 rt_inline void _update_ru(struct rt_lwp *child, struct rt_lwp *self_lwp, struct rusage *uru)  in _update_ru()  argument
846 rt_rusage.ru_stime.tv_sec = child->rt_rusage.ru_stime.tv_sec; in _update_ru()
847 rt_rusage.ru_stime.tv_usec = child->rt_rusage.ru_stime.tv_usec; in _update_ru()
848 rt_rusage.ru_utime.tv_sec = child->rt_rusage.ru_utime.tv_sec; in _update_ru()
849 rt_rusage.ru_utime.tv_usec = child->rt_rusage.ru_utime.tv_usec; in _update_ru()
855 static rt_err_t _stats_and_reap_child(rt_lwp_t child, rt_thread_t cur_thr, in _stats_and_reap_child() argument
859 int lwp_stat = child->lwp_status; in _stats_and_reap_child()
862 _update_ru(child, self_lwp, uru); in _stats_and_reap_child()
864 if (child->terminated && !(options & WNOWAIT)) in _stats_and_reap_child()
868 lwp_pid_put(child); in _stats_and_reap_child()
869 lwp_children_unregister(self_lwp, child); in _stats_and_reap_child()
881 static sysret_t _query_event_from_lwp(rt_lwp_t child, rt_thread_t cur_thr, rt_lwp_t self_lwp, in _query_event_from_lwp() argument
886 LWP_LOCK(child); in _query_event_from_lwp()
887 if (child->terminated) in _query_event_from_lwp()
889 rc = child->pid; in _query_event_from_lwp()
891 else if ((options & WSTOPPED) && child->jobctl_stopped && !child->wait_reap_stp) in _query_event_from_lwp()
893 child->wait_reap_stp = 1; in _query_event_from_lwp()
894 rc = child->pid; in _query_event_from_lwp()
900 LWP_UNLOCK(child); in _query_event_from_lwp()
902 …LOG_D("%s(child_pid=%d ('%s'), stopped=%d) => %d", __func__, child->pid, child->cmd, child->jobctl… in _query_event_from_lwp()
912 struct rt_lwp *child; in _verify_child_and_reap() local
916 child = lwp_from_pid_locked(wait_pid); in _verify_child_and_reap()
917 if (!child) in _verify_child_and_reap()
919 else if (child->parent != self_lwp) in _verify_child_and_reap()
928 rc = _query_event_from_lwp(child, cur_thr, self_lwp, options, ustatus); in _verify_child_and_reap()
931 _stats_and_reap_child(child, cur_thr, self_lwp, ustatus, options, uru); in _verify_child_and_reap()
942 struct rt_lwp *child; in _reap_any_child_pid() local
945 child = self_lwp->first_child; in _reap_any_child_pid()
948 while (child) in _reap_any_child_pid()
950 if (pair_pgid && child->pgid != pair_pgid) in _reap_any_child_pid()
953 rc = _query_event_from_lwp(child, cur_thr, self_lwp, options, ustatus); in _reap_any_child_pid()
957 child = child->sibling; in _reap_any_child_pid()
963 _stats_and_reap_child(child, cur_thr, self_lwp, ustatus, options, uru); in _reap_any_child_pid()
1582 struct rt_lwp *child; in _resr_cleanup() local
1584 child = lwp->first_child; in _resr_cleanup()
1585 lwp->first_child = child->sibling; in _resr_cleanup()
1589 LWP_LOCK(child); in _resr_cleanup()
1590 if (child->terminated) in _resr_cleanup()
1592 lwp_pid_put(child); in _resr_cleanup()
1596 child->sibling = RT_NULL; in _resr_cleanup()
1598 child->parent = RT_NULL; in _resr_cleanup()
1601 LWP_UNLOCK(child); in _resr_cleanup()
1602 lwp_ref_dec(child); in _resr_cleanup()