This is the mail archive of the
java-prs@gcc.gnu.org
mailing list for the Java project.
[Bug java/19003] New: Potential problems in libjava system calls with gc-boehm
- From: "Stephane dot Epardaud at sophia dot inria dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: java-prs at gcc dot gnu dot org
- Date: 15 Dec 2004 08:03:55 -0000
- Subject: [Bug java/19003] New: Potential problems in libjava system calls with gc-boehm
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Hello,
I am using the Boehm GC myself, and noticed that some system calls (in
particular select) can be blocked by the GC (which is using signals and signal
handlers to block threads) and return with an error of -1 and errno set to EINTR.
I looked at gcj's libjava implementation to see if you handled it better than I
did, and I noticed that you do handle EINTR in the select system call by using
_Jv_select, and you also handle it when reading/writing to local files, but I
think you omitted the reading/writing of network sockets and accept system calls.
There might be other places too: basically what I understand of the Boehm GC is
that it can block any thread at any place in order to do a GC, and when that
happens in a thread within a system call that can return an error of EINTR, you
have to treat that error specially and redo that system call.
--
Summary: Potential problems in libjava system calls with gc-boehm
Product: gcc
Version: 3.4.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Stephane dot Epardaud at sophia dot inria dot fr
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19003