You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2023/02/27 12:25:07 UTC

[tomcat] branch main updated: 66482: Restore inline state after async operation in NIO2

This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new 005d1608b7 66482: Restore inline state after async operation in NIO2
005d1608b7 is described below

commit 005d1608b77184ff96523b449f90254dcf9ad743
Author: remm <re...@apache.org>
AuthorDate: Mon Feb 27 13:24:49 2023 +0100

    66482: Restore inline state after async operation in NIO2
    
    Patch submitted by zhougang.
---
 java/org/apache/tomcat/util/net/Nio2Endpoint.java | 7 +++++--
 webapps/docs/changelog.xml                        | 5 +++++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/tomcat/util/net/Nio2Endpoint.java b/java/org/apache/tomcat/util/net/Nio2Endpoint.java
index 2887ba5039..6a6afd016d 100644
--- a/java/org/apache/tomcat/util/net/Nio2Endpoint.java
+++ b/java/org/apache/tomcat/util/net/Nio2Endpoint.java
@@ -1028,8 +1028,11 @@ public class Nio2Endpoint extends AbstractNetworkChannelEndpoint<Nio2Channel,Asy
                     writeNotify = true;
                 }
                 Nio2Endpoint.startInline();
-                run();
-                Nio2Endpoint.endInline();
+                try {
+                    run();
+                } finally {
+                    Nio2Endpoint.endInline();
+                }
             }
 
             @Override
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index eeb833999e..af35b4b2bb 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -137,6 +137,11 @@
         Add a check for the validity of the scheme pseudo-header in HTTP/2.
         (markt)
       </add>
+      <fix>
+        <bug>66482</bug>: Restore inline state after async operation in NIO2,
+        to account the fact that unexpected exceptions are sometimes thrown
+        by the implementation. Patch submitted by zhougang. (remm)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Jasper">


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