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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]