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 01f954644b Fix inconsistent sync
01f954644b is described below

commit 01f954644bbf34dccafad5039219b2cce4cf4235
Author: remm <r...@apache.org>
AuthorDate: Fri Sep 22 10:50:12 2023 +0200

    Fix inconsistent sync
    
    Found by coverity.
---
 java/org/apache/catalina/tribes/transport/PooledSender.java           | 4 ++--
 java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java | 2 +-
 java/org/apache/catalina/tribes/transport/RxTaskPool.java             | 4 +++-
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/java/org/apache/catalina/tribes/transport/PooledSender.java 
b/java/org/apache/catalina/tribes/transport/PooledSender.java
index 89106e9c85..457230c685 100644
--- a/java/org/apache/catalina/tribes/transport/PooledSender.java
+++ b/java/org/apache/catalina/tribes/transport/PooledSender.java
@@ -140,11 +140,11 @@ public abstract class PooledSender extends AbstractSender 
implements MultiPointS
             this.limit = limit;
         }
 
-        public int getInUsePoolSize() {
+        public synchronized int getInUsePoolSize() {
             return inuse.size();
         }
 
-        public int getInPoolSize() {
+        public synchronized int getInPoolSize() {
             return notinuse.size();
         }
 
diff --git 
a/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java 
b/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java
index a67cc5e71c..7420900805 100644
--- a/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java
+++ b/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java
@@ -72,7 +72,7 @@ public class ReplicationTransmitter implements ChannelSender {
      * @see org.apache.catalina.tribes.ChannelSender#start()
      */
     @Override
-    public void start() throws java.io.IOException {
+    public synchronized void start() throws java.io.IOException {
         getTransport().connect();
         // register jmx
         JmxRegistry jmxRegistry = JmxRegistry.getRegistry(channel);
diff --git a/java/org/apache/catalina/tribes/transport/RxTaskPool.java 
b/java/org/apache/catalina/tribes/transport/RxTaskPool.java
index 5a04e73b9a..619c87f55c 100644
--- a/java/org/apache/catalina/tribes/transport/RxTaskPool.java
+++ b/java/org/apache/catalina/tribes/transport/RxTaskPool.java
@@ -90,7 +90,9 @@ public class RxTaskPool {
     }
 
     public int available() {
-        return idle.size();
+        synchronized (mutex) {
+            return idle.size();
+        }
     }
 
     /**


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

Reply via email to