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

markt-asf pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/10.1.x by this push:
     new 7c059e5c36 Restore short-circuit behaviour where required.
7c059e5c36 is described below

commit 7c059e5c366b0e456f351ca812e73f8da3851b1d
Author: Mark Thomas <[email protected]>
AuthorDate: Wed May 27 17:53:24 2026 +0100

    Restore short-circuit behaviour where required.
---
 java/org/apache/catalina/tribes/transport/PooledSender.java | 3 ++-
 java/org/apache/tomcat/util/net/NioEndpoint.java            | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/catalina/tribes/transport/PooledSender.java 
b/java/org/apache/catalina/tribes/transport/PooledSender.java
index 46e296a279..2782dc34f9 100644
--- a/java/org/apache/catalina/tribes/transport/PooledSender.java
+++ b/java/org/apache/catalina/tribes/transport/PooledSender.java
@@ -196,7 +196,8 @@ public abstract class PooledSender extends AbstractSender 
implements MultiPointS
             DataSender[] list = notinuse.toArray(new DataSender[0]);
             boolean result = false;
             for (DataSender dataSender : list) {
-                result = result || dataSender.keepalive();
+                // Do not short-circuit. dataSender.keepalive() does real, 
required work for all senders.
+                result = result | dataSender.keepalive();
             }
             return result;
         }
diff --git a/java/org/apache/tomcat/util/net/NioEndpoint.java 
b/java/org/apache/tomcat/util/net/NioEndpoint.java
index 1c73b6cd6f..aeb16bdb96 100644
--- a/java/org/apache/tomcat/util/net/NioEndpoint.java
+++ b/java/org/apache/tomcat/util/net/NioEndpoint.java
@@ -920,7 +920,8 @@ public class NioEndpoint extends 
AbstractJsseEndpoint<NioChannel,SocketChannel>
                     }
                     // Either we timed out or we woke up, process events first
                     if (keyCount == 0) {
-                        hasEvents = (hasEvents || events());
+                        // Non-shorrt-circuit OR since events() always needs 
to run here.
+                        hasEvents = (hasEvents | events());
                     }
                 } catch (Throwable x) {
                     ExceptionUtils.handleThrowable(x);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to