From a73eca9e8b1b96925b4b4d4ccfeffe9891fd8ce1 Mon Sep 17 00:00:00 2001 From: Patrick Fontanilla Date: Mon, 18 May 2026 17:05:05 +0000 Subject: [PATCH] 8383847: Shenandoah: gc/TestJNIWeak/TestJNIWeak.java times out intermittently Reviewed-by: wkemper, ysr, kdnilsen --- src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp index 6175f15676c..53e12711a13 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp @@ -68,7 +68,7 @@ void ShenandoahControlThread::run_service() { // Figure out if we have pending requests. const bool alloc_failure_pending = ShenandoahCollectorPolicy::is_allocation_failure(cancelled_cause); - const bool is_gc_requested = _gc_requested.is_set(); + const bool is_gc_requested = _gc_requested.try_unset(); const GCCause::Cause requested_gc_cause = _requested_gc_cause; // Choose which GC mode to run in. The block below should select a single mode. @@ -406,7 +406,6 @@ void ShenandoahControlThread::handle_requested_gc(GCCause::Cause cause) { } void ShenandoahControlThread::notify_gc_waiters() { - _gc_requested.unset(); MonitorLocker ml(&_gc_waiters_lock); ml.notify_all(); }