From owner-freebsd-java@FreeBSD.ORG Mon Dec 3 13:47:53 2007 Return-Path: Delivered-To: java@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9CB4516A418 for ; Mon, 3 Dec 2007 13:47:53 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from mail.netplex.net (mail.netplex.net [204.213.176.10]) by mx1.freebsd.org (Postfix) with ESMTP id 40FA613C458 for ; Mon, 3 Dec 2007 13:47:53 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.netplex.net (8.14.2/8.14.2/NETPLEX) with ESMTP id lB3DlosW006497; Mon, 3 Dec 2007 08:47:51 -0500 (EST) X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.netplex.net) X-Greylist: Message whitelisted by DRAC access database, not delayed by milter-greylist-4.0 (mail.netplex.net [204.213.176.10]); Mon, 03 Dec 2007 08:47:51 -0500 (EST) Date: Mon, 3 Dec 2007 08:47:51 -0500 (EST) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: "Arno J. Klaassen" In-Reply-To: Message-ID: References: <200711301716.lAUHGEV1064334@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; format=flowed Content-ID: Cc: java@freebsd.org Subject: Re: cvs commit: src/lib/libkse/thread thr_kern.c X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Dec 2007 13:47:53 -0000 On Sun, 2 Dec 2007, Arno J. Klaassen wrote: > > Daniel Eischen writes: > >> You could of course try this hack to work-around the problem: >> >> Index: thr_kern.c >> =================================================================== >> RCS file: /home/ncvs/src/lib/libkse/thread/thr_kern.c,v >> retrieving revision 1.127 >> diff -u -r1.127 thr_kern.c >> --- thr_kern.c 30 Nov 2007 17:16:14 -0000 1.127 >> +++ thr_kern.c 1 Dec 2007 23:23:42 -0000 >> @@ -361,6 +361,13 @@ >> curthread->kse->k_kcb->kcb_kmbx.km_curthread = NULL; >> curthread->attr.flags |= PTHREAD_SCOPE_SYSTEM; >> >> + /* >> + * This shouldn't be necessary. It sometimes gets corrupted >> + * after a fork() in SMP. >> + */ >> + _kcb_set(curthread->kse->k_kcb); >> + _tcb_set(curthread->kse->k_kcb, curthread->tcb); >> + >> /* After a fork(), there child should have no pending signals. */ >> sigemptyset(&curthread->sigpend); > > Yes, this works. Thanx! > Is this safe to apply to releng_6 as well? Yes, it should also work on 6.x. -- DE