ProcessManager on Solaris

Bryce McKinlay mckinlay@redhat.com
Wed Feb 16 16:09:00 GMT 2005


David Daney wrote:

> Bryce McKinlay wrote:
>
>>
>> libjava uses the regular POSIX threads on Solaris. As Hans mentioned, 
>> we should migrate the boehm-gc to use the standard pthreads code on 
>> Solaris too.
>>
>> The reason why the mask isn't applied to the GC's daemon thread is 
>> that we initialize the GC before we attach the main thread, so the 
>> signal mask isn't applied to the main thread yet. An alternate 
>> solution would be to make sure block_sigchld() gets called from the 
>> main thread before _Jv_InitGC().
>>
>
> Then this is a latent bug in the boehm-gc/pthread also.


Hmm, I don't think so, unless something like --enable-parallel-mark is 
used, because the GC doesn't normally create any additional threads. 
We'll still set the right mask before any Java code gets run. But anyway...

> int libjava/posix-threads.cc _Jv_InitThreads() we must call 
> block_sigchld().  This would fix both the latent pthread bug as well 
> as Eric's Solaris problem.

Yes, good solution! I'll commit this patch instead of Eric's assuming it 
tests out ok. Eric, can you confirm that this one fixes the original 
problem on Solaris?

Bryce


-------------- next part --------------
A non-text attachment was scrubbed...
Name: libjava-gc-sigchld.patch
Type: text/x-patch
Size: 1636 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/java/attachments/20050216/9825e01f/attachment.bin>


More information about the Java mailing list