On 12 May, Doug Barton wrote: > On Mon, 12 May 2003, Terry Lambert wrote: > >> A "ps -gaxl" will print the wait channel, which may be more >> informative. > > UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND > 1000 0 1 0 -84 0 0 0 - ZW p4 0:00.00 (mtvp) > > BTW, inre your question about the shell, it's bash. But, I get the exact > same results if mtv is started as a child of the shell, as a child of > windowmaker, or as a child of netscape. Does this application use Linux threads? The following code in wait1() makes me think that if a thread somehow gets orphaned by the parent Linux process, it will never get reaped. The exit code for Linux should probably wait for any child threads to exit. LIST_FOREACH(p, &q->p_children, p_sibling) { PROC_LOCK(p); if (uap->pid != WAIT_ANY && p->p_pid != uap->pid && p->p_pgid != -uap->pid) { PROC_UNLOCK(p); continue; } /* * This special case handles a kthread spawned by linux_clone * (see linux_misc.c). The linux_wait4 and linux_waitpid * functions need to be able to distinguish between waiting * on a process and waiting on a thread. It is a thread if * p_sigparent is not SIGCHLD, and the WLINUXCLONE option * signifies we want to wait for threads and not processes. */ if ((p->p_sigparent != SIGCHLD) ^ ((uap->options & WLINUXCLONE) != 0)) { PROC_UNLOCK(p); continue; }Received on Mon May 12 2003 - 21:01:12 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:07 UTC