poll(...) gets "Interrupted system call" on jni

Marco Trudel mtrudel@gmx.ch
Tue Sep 19 08:03:00 GMT 2006


Hello all

For a little variety in my life, I run into a problem with GCJ on linux. 
I use a --disable-shared GCJ, built yesterday evening (revision 117030)...

I have a java application that calls a native lib over JNI. This lib 
performs a poll() on a network socket in a loop. This all works flawless 
when running with a sun jdk. As soon as I compile the application with 
GCJ, the poll() sometimes fail and sets errno to 4 (Interrupted system 
call).

Google told me that this can (respectively should) be ignored and 
indeed, everything works if I just continue in the loop. But I'm a 
little confused why this only happens when the application is compiled 
with GCJ.
What makes me think that GCJ might do something bad is, that the lib is 
a widely used java library. So I guess no one run into this bug with a 
"normal" JRE so far...

I'm not entirely sure if it's a GCJ problem. Actually I don't even know 
what "Interrupted system call" means exactly (I guess the poll was 
simply interupted). Any commends welcome...


Marco



More information about the Java mailing list