From owner-cvs-all@FreeBSD.ORG Wed Feb 11 19:06:33 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AED5C16A4CE; Wed, 11 Feb 2004 19:06:33 -0800 (PST) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C9D143D1D; Wed, 11 Feb 2004 19:06:33 -0800 (PST) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.12.9p2/8.12.9) with ESMTP id i1C36E7E031864; Wed, 11 Feb 2004 19:06:18 -0800 (PST) (envelope-from truckman@FreeBSD.org) Message-Id: <200402120306.i1C36E7E031864@gw.catspoiler.org> Date: Wed, 11 Feb 2004 19:06:14 -0800 (PST) From: Don Lewis To: marius@alchemy.franken.de In-Reply-To: <20040212012327.A67533@newtrinity.zeist.de> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_exit.c sys_process.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Feb 2004 03:06:33 -0000 On 12 Feb, Marius Strobl wrote: > On Wed, Feb 11, 2004 at 02:06:02PM -0800, Don Lewis wrote: >> truckman 2004/02/11 14:06:02 PST >> >> FreeBSD src repository >> >> Modified files: >> sys/kern kern_exit.c sys_process.c >> Log: >> When reparenting a process to init, make sure that p_sigparent is >> set to SIGCHLD. This avoids the creation of orphaned Linux-threaded >> zombies that init is unable to reap. This can occur when the parent >> process sets its SIGCHLD to SIG_IGN. Fix a similar situation in the >> PT_DETACH code. >> > > Does this fix Matlab hanging on exit (PR 42457)? I don't think so. In addition to the bug mentioned in the PR, I think there is another one that is causing matlab to hang. I don't think the linux_wait4(-1, &foo, 0 0) call should hang the parent process even if it has a child thread as long as it doesn't have a child process. I'd expect that the linux_wait4() call should return an error, and then matlab would go onto reap the thread. I'd have to look at the Linux man pages, though.