You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2022/03/15 17:29:50 UTC

[tomcat] 02/03: Fix sync issues identified by SpotBugs

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

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

commit 017a5d73fed304eaeed34be835bc0b886968e9da
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Tue Mar 15 17:18:09 2022 +0000

    Fix sync issues identified by SpotBugs
---
 .../catalina/nonblocking/TestNonBlockingAPI.java   |  3 ++-
 .../tribes/test/transport/SocketNioReceive.java    | 24 ++++++++++++++--------
 2 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
index 0ca63ab..8023e8f 100644
--- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
+++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
@@ -1144,7 +1144,8 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
                     try {
                         byte buffer[] = new byte[1 * 4];
                         while (is.isReady() && !is.isFinished()) {
-                            is.read(buffer);
+                            @SuppressWarnings("unused")
+                            int ignore = is.read(buffer);
                         }
                         String body = new String(buffer, StandardCharsets.UTF_8);
                         Assert.assertTrue(body.equals("body"));
diff --git a/test/org/apache/catalina/tribes/test/transport/SocketNioReceive.java b/test/org/apache/catalina/tribes/test/transport/SocketNioReceive.java
index 763d7b2..9936c63 100644
--- a/test/org/apache/catalina/tribes/test/transport/SocketNioReceive.java
+++ b/test/org/apache/catalina/tribes/test/transport/SocketNioReceive.java
@@ -27,13 +27,15 @@ import org.apache.catalina.tribes.membership.MemberImpl;
 import org.apache.catalina.tribes.transport.nio.NioReceiver;
 
 public class SocketNioReceive {
-    static int count = 0;
-    static int accept = 0;
-    static long start = 0;
-    static double mb = 0;
-    static int len = 0;
-    static DecimalFormat df = new DecimalFormat("##.00");
-    static double seconds = 0;
+    private static int count = 0;
+    private static final Object countLock = new Object();
+    private static int accept = 0;
+    private static final Object acceptLock = new Object();
+    private static long start = 0;
+    private static double mb = 0;
+    private static int len = 0;
+    private static DecimalFormat df = new DecimalFormat("##.00");
+    private static double seconds = 0;
 
     protected static final Object mutex = new Object();
     public static void main(String[] args) throws Exception {
@@ -74,7 +76,9 @@ public class SocketNioReceive {
                 start = System.currentTimeMillis();
             }
             mb += ( (double) len) / 1024 / 1024;
-            synchronized (this) {count++;}
+            synchronized (countLock) {
+                count++;
+            }
             if ( ( (count) % 10000) == 0) {
                 long time = System.currentTimeMillis();
                 seconds = ( (double) (time - start)) / 1000;
@@ -84,7 +88,9 @@ public class SocketNioReceive {
 
         @Override
         public boolean accept(ChannelMessage msg) {
-            synchronized (this) {accept++;}
+            synchronized (acceptLock) {
+                accept++;
+            }
             return true;
         }
 

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