On 27/10/2020 17:34, Rémy Maucherat wrote:
> On Tue, Oct 27, 2020 at 6:08 PM <ma...@apache.org> wrote:
> 
>> This is an automated email from the ASF dual-hosted git repository.
>>
>> markt pushed a commit to branch 8.5.x
>> in repository https://gitbox.apache.org/repos/asf/tomcat.git
>>
>>
>> The following commit(s) were added to refs/heads/8.5.x by this push:
>>      new 1c07384  Restore try catch around Poller.events
>> 1c07384 is described below
>>
>> commit 1c0738407e4c3a73b312fae279046249c2dc025d
>> Author: remm <r...@apache.org>
>> AuthorDate: Tue Oct 27 16:52:26 2020 +0100
>>
>>     Restore try catch around Poller.events
>>
>>     This is a regression caused when the Poller.events method was
>>     refactored.
>>
> 
> I never refactored Poller.events in 8.5, so it still had its blanket
> try/catch, so no possible problems. This is a rather recent regression
> overall.

Ah. I see that now. I'll revert that change.

Mark

> 
> Rémy
> 
> 
>> ---
>>  java/org/apache/tomcat/util/net/NioEndpoint.java | 8 ++++----
>>  webapps/docs/changelog.xml                       | 5 +++++
>>  2 files changed, 9 insertions(+), 4 deletions(-)
>>
>> diff --git a/java/org/apache/tomcat/util/net/NioEndpoint.java
>> b/java/org/apache/tomcat/util/net/NioEndpoint.java
>> index 08b8a4e..fadec98 100644
>> --- a/java/org/apache/tomcat/util/net/NioEndpoint.java
>> +++ b/java/org/apache/tomcat/util/net/NioEndpoint.java
>> @@ -849,15 +849,15 @@ public class NioEndpoint extends
>> AbstractJsseEndpoint<NioChannel> {
>>                          }
>>                          break;
>>                      }
>> +                    // Either we timed out or we woke up, process events
>> first
>> +                    if (keyCount == 0) {
>> +                        hasEvents = (hasEvents | events());
>> +                    }
>>                  } catch (Throwable x) {
>>                      ExceptionUtils.handleThrowable(x);
>>                      log.error("",x);
>>                      continue;
>>                  }
>> -                // Either we timed out or we woke up, process events first
>> -                if (keyCount == 0) {
>> -                    hasEvents = (hasEvents | events());
>> -                }
>>
>>                  Iterator<SelectionKey> iterator =
>>                      keyCount > 0 ? selector.selectedKeys().iterator() :
>> null;
>> diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
>> index 606603d..6e732eb 100644
>> --- a/webapps/docs/changelog.xml
>> +++ b/webapps/docs/changelog.xml
>> @@ -91,6 +91,11 @@
>>          <bug>63362</bug>: Add collection of statistics for HTTP/2,
>> WebSocket and
>>          connections upgraded via the HTTP upgrade mechanism. (markt)
>>        </fix>
>> +      <fix>
>> +        Restore exception catch around Poller.events, as it would cause
>> +        the NIO poller thread to exit. This is a regression caused when
>> +        the Poller.events method was refactored. (remm)
>> +      </fix>
>>      </changelog>
>>    </subseciton>
>>    <subsection name="Web applications">
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: dev-h...@tomcat.apache.org
>>
>>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to