This is the mail archive of the
java-discuss@sourceware.cygnus.com
mailing list for the Java project.
Re: Serious problem with multithreaded I/O on Linux
- To: Anthony Green <green@cygnus.com>
- Subject: Re: Serious problem with multithreaded I/O on Linux
- From: Bryce McKinlay <bryce@albatross.co.nz>
- Date: Thu, 15 Jul 1999 11:46:58 +0000
- CC: java-discuss@sourceware.cygnus.com
- References: <199907150804.BAA26310@fencer.cygnus.com>
Anthony Green wrote:
> Here's the problem (I think):
>
> bash-2.01$ nm libgcjgc.a | grep "T read"
> 000005a0 T read
> bash-2.01$ nm /usr/lib/libpthread.a | grep "T read"
> 000001f0 T read
>
> We're bringing libgcjgc in before libpthread, which is a
> GC-safe/blocking read.
Bingo. I had no idea that boehm-gc would be providing its own read() wrapper.
Switch things so that pthreads is linked ahead of gcjgc in libgcj.spec, and
everything is sweet.
> These two functions have to be combined somehow.
Hmm... This sounds like a nasty problem. If boehm is making I/O calls "gc-safe"
by blocking all threads when they are used, how is combining them going to
improve the situation?
Why are blocking IO calls not gc-safe, anyway?
regards
[ bryce ]