tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Costin Manolache <>
Subject Re: svn commit: r1296944 - /tomcat/native/trunk/native/src/poll.c
Date Mon, 05 Mar 2012 21:39:45 GMT
On Mon, Mar 5, 2012 at 4:45 AM, Mladen Turk <> wrote:

> On 03/05/2012 07:30 AM, wrote:
>> Author: costin
>> Date: Mon Mar  5 06:30:17 2012
>> New Revision: 1296944
>> URL:**rev=1296944&view=rev<>
>> Log:
>> EINTR needs to be returned to java in order for Poll.interrupt() to work,
>> it is already handled in AprEndpoint.
> Not sure if that's correct.
> EINTR is transient signal and doesn't mean that the actual event was fired.
> Any function that waits on some event should restart the operation if EINTR
> was signalled. See 'man poll'
> If interrupt doesn't work its something else to blame, not EINTR.

If interrupt() is called, EINTR is generated as result to poll - confirmed
with printfs().
Without this change - poll is not interrupted. I spent quite a bit of time
debugging it.

It is true EINTR is 'transient signal' and may be generated without an
event fired - that's what
interrupt is supposed to do after all, and it's possible other events cause

I see no harm in returning this to the java stack - the AprEndpoint is
expecting it along with timeup.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message