porting libjava to FreeBSD
John Polstra
jdp@polstra.com
Sat Sep 25 10:41:00 GMT 1999
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
More information about the Java
mailing list