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

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


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

commit 00e41bff0a5715ce804ebe49295bb7932f1b7376
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 0c55f89af1..34cb4d2a69 100644
--- a/java/org/apache/tomcat/util/net/NioEndpoint.java
+++ b/java/org/apache/tomcat/util/net/NioEndpoint.java
@@ -925,7 +925,8 @@ public class NioEndpoint extends 
AbstractNetworkChannelEndpoint<NioChannel,Socke
                     }
                     // 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