Date: Mon, 7 Aug 2006 13:15:21 -0400 (EDT) From: Daniel Eischen <deischen@freebsd.org> To: Robert Watson <rwatson@freebsd.org> Cc: threads@freebsd.org Subject: Re: GHC 6.4.3 on FreeBSD (fwd) Message-ID: <Pine.GSO.4.64.0608071313210.5874@sea.ntplx.net> In-Reply-To: <20060807151829.T45647@fledge.watson.org> References: <20060807151829.T45647@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 7 Aug 2006, Robert Watson wrote: > > I've been talking to the Haskell folk about problems they've had getting > their threaded runtime running on FreeBSD. Here's one of their problem > reports. Since I'm not up on how threads and signals are supposed to act, I > can't confirm the below is a bug, of course, but figured you (experts) would > be able to respond better. Try this patch. -- DE Index: thread/thr_sig.c =================================================================== RCS file: /opt/FreeBSD/cvs/src/lib/libpthread/thread/thr_sig.c,v retrieving revision 1.85 diff -u -r1.85 thr_sig.c --- thread/thr_sig.c 9 Jun 2006 14:23:40 -0000 1.85 +++ thread/thr_sig.c 7 Aug 2006 16:37:50 -0000 @@ -1095,6 +1095,11 @@ struct pthread *curthread = _get_curthread(); struct kse_mailbox *kmbx; + if ((curthread->kse->k_flags & KF_STARTED) == 0) { + (void)__sys_kill(getpid(), sig); + return; + } + if (pthread->attr.flags & PTHREAD_SCOPE_SYSTEM) { kse_thr_interrupt(&pthread->tcb->tcb_tmbx, KSE_INTR_SENDSIG, sig); return;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0608071313210.5874>