diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/Atomics.java b/jetty-util/src/main/java/org/eclipse/jetty/util/Atomics.java index 42fb48902ea..b7fde4621f3 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/Atomics.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/Atomics.java @@ -27,47 +27,51 @@ public class Atomics { } - public static void updateMin(AtomicLong currentMin, long newValue) + public static boolean updateMin(AtomicLong currentMin, long newValue) { long oldValue = currentMin.get(); while (newValue < oldValue) { if (currentMin.compareAndSet(oldValue, newValue)) - break; + return true; oldValue = currentMin.get(); } + return false; } - public static void updateMax(AtomicLong currentMax, long newValue) + public static boolean updateMax(AtomicLong currentMax, long newValue) { long oldValue = currentMax.get(); while (newValue > oldValue) { if (currentMax.compareAndSet(oldValue, newValue)) - break; + return true; oldValue = currentMax.get(); } + return false; } - public static void updateMin(AtomicInteger currentMin, int newValue) + public static boolean updateMin(AtomicInteger currentMin, int newValue) { int oldValue = currentMin.get(); while (newValue < oldValue) { if (currentMin.compareAndSet(oldValue, newValue)) - break; + return true; oldValue = currentMin.get(); } + return false; } - public static void updateMax(AtomicInteger currentMax, int newValue) + public static boolean updateMax(AtomicInteger currentMax, int newValue) { int oldValue = currentMax.get(); while (newValue > oldValue) { if (currentMax.compareAndSet(oldValue, newValue)) - break; + return true; oldValue = currentMax.get(); } + return false; } }