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.

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
>
>

Reply via email to