Serious problem with multithreaded I/O on Linux
Bryce McKinlay
bryce@albatross.co.nz
Thu Jul 15 04:47:00 GMT 1999
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 ]
More information about the Java
mailing list