diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventHandler.java b/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventHandler.java index 706b3550dcc2f..90a6edebd38f7 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventHandler.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -345,12 +345,10 @@ public boolean eventReceived(Event event) { public boolean eventReceived(Event event) { if (event instanceof VMDisconnectEvent) { display("receieved VMDisconnect"); - synchronized(EventHandler.this) { - vmDisconnected = true; - status = 0; // OK finish - EventHandler.this.notifyAll(); - removeListener(this); - } + vmDisconnected = true; + status = 0; // OK finish + EventHandler.this.notifyAll(); + removeListener(this); return true; } return false; @@ -431,6 +429,10 @@ public void eventSetReceived(EventSet set) { } public boolean eventReceived(Event event) { + if (en.event != null) { + // If we already got the requested event, don't handle this one. + return false; + } EventSet set = en.set; en.set = null; // We'll reset it below if the event matches a request. for (int i = 0; i < requests.length; i++) { @@ -441,11 +443,9 @@ public boolean eventReceived(Event event) { if (request.equals(event.request())) { display("waitForRequestedEventCommon: Received event(" + event + ") for request(" + request + ")"); - synchronized (EventHandler.this) { - en.event = event; - en.set = set; - EventHandler.this.notifyAll(); - } + en.event = event; + en.set = set; + EventHandler.this.notifyAll(); return true; // event was handled } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/TestDebuggerType1.java b/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/TestDebuggerType1.java index aa40fd36fe51b..78cfb9e8bbac1 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/TestDebuggerType1.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jdi/TestDebuggerType1.java @@ -204,11 +204,9 @@ private void setCommunicationBreakpoint(ReferenceType refType, String methodName new EventHandler.EventListener() { public boolean eventReceived(Event event) { if (event instanceof BreakpointEvent && bpRequest.equals(event.request())) { - synchronized(eventHandler) { - display("Received communication breakpoint event."); - bpCount++; - eventHandler.notifyAll(); - } + display("Received communication breakpoint event."); + bpCount++; + eventHandler.notifyAll(); return true; } return false;