From owner-freebsd-java Sat Sep 25 10:41: 2 1999 Delivered-To: freebsd-java@freebsd.org Received: from wall.polstra.com (rtrwan160.accessone.com [206.213.115.74]) by hub.freebsd.org (Postfix) with ESMTP id 42086158B7; Sat, 25 Sep 1999 10:40:57 -0700 (PDT) (envelope-from jdp@polstra.com) Received: from vashon.polstra.com (vashon.polstra.com [206.213.73.13]) by wall.polstra.com (8.9.3/8.9.3) with ESMTP id KAA24241; Sat, 25 Sep 1999 10:40:46 -0700 (PDT) (envelope-from jdp@polstra.com) Received: (from jdp@localhost) by vashon.polstra.com (8.9.3/8.9.1) id KAA85338; Sat, 25 Sep 1999 10:40:45 -0700 (PDT) (envelope-from jdp@polstra.com) Message-ID: X-Mailer: XFMail 1.3 [p0] on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <199909251726.NAA44892@rtfm.newton> Date: Sat, 25 Sep 1999 10:40:45 -0700 (PDT) Organization: Polstra & Co., Inc. From: John Polstra To: Mikhail Teterin Subject: RE: porting libjava to FreeBSD Cc: java-discuss@sourceware.cygnus.com, obrien@FreeBSD.org, java@FreeBSD.org, jb@cimlogic.com.au, eischen@vigrid.com Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Mikhail Teterin wrote: > > However, the low level code in libgcj-2.95.1/boehm-gc/linux_threads.c > uses the non-existent (on FreeBSD) signal SIGPWR. With the following > comment: > > /* > * The only way to suspend threads given the pthread > * interface is to send signals. We can't use SIGSTOP > * directly, because we need to get the thread to save > * its stack pointer in the GC thread table before > * suspending. So we have to reserve a signal of our own > * for this. This means we have to intercept client > * calls to change the signal mask. The linuxthreads > * package already uses SIGUSR1 and SIGUSR2, so we need > * to reuse something else. I chose SIGPWR. (Perhaps > * SIGUNUSED would be a better choice.) > */ > #define SIG_SUSPEND SIGPWR Ick. I think it would be better to suspend threads using pthread_suspend_np(). John To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message