Date: Tue, 30 Jan 2007 22:57:52 +0100 From: Divacky Roman <xdivac02@stud.fit.vutbr.cz> To: freebsd-emulation@freebsd.org Subject: [PATCH] linux 2.6.16 causes zombie processes with linux-opera Message-ID: <20070130215752.GA86572@stud.fit.vutbr.cz> In-Reply-To: <20070128233230.GA4347@mail.scottro.net> References: <20070128233230.GA4347@mail.scottro.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jan 28, 2007 at 06:32:30PM -0500, Scott Robbins wrote:
> As near as I can determine, this only happens if I set the sysctl
> compat.linux.osrelease to 2.6.16.
>
> This is on a system running CURRENT
>
> (7.0-CURRENT FreeBSD 7.0-CURRENT #0: Thu Jan 25 20:30:57 EST 2007)
>
> When I close linux opera, a zombied process remains. The parent PID is
> 1.
>
> Each time I open and then close opera, one and sometimes two, zombied
> processes remain.
>
> Therefore, if I've been browsing the web on and off for awhile, and do a
> pgrep opera, I might have a list of 20 or more PIDs, all zombies.
please.. can you try this patch:
--- /tmp/tmp.970.0 Tue Jan 30 22:56:18 2007
+++ /root/projects/linuxolator/src/sys/compat/linux/linux_emul.c Tue Jan 30 22:56:15 2007
@@ -165,6 +165,16 @@
KASSERT(em != NULL, ("proc_exit: emuldata not found.\n"));
+ /* reparent all non thread leaders to initproc */
+ if (em->shared->group_pid != p->p_pid) {
+ sx_xlock(&proctree_lock);
+ wakeup(initproc);
+ PROC_LOCK(p);
+ proc_reparent(p, initproc);
+ PROC_UNLOCK(p);
+ sx_xunlock(&proctree_lock);
+ }
+
child_clear_tid = em->child_clear_tid;
EMUL_UNLOCK(&emul_lock);
ignore the LOR for now and tell me if there's any difference with the opera behaviour. I
cant test now myself ;(
roman
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070130215752.GA86572>
