Skip to content
This repository was archived by the owner on Aug 27, 2022. It is now read-only.

Commit ea55699

Browse files
author
Fairoz Matte
committed
8239055: Wrong implementation of VMState.hasListener
Correct the VMState.hasListener implementation to return WeakReference<VMListener> type Reviewed-by: sspitsyn, poonam
1 parent 3ca275f commit ea55699

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -174,7 +174,14 @@ synchronized void addListener(VMListener listener) {
174174
}
175175

176176
synchronized boolean hasListener(VMListener listener) {
177-
return listeners.contains(listener);
177+
Iterator<WeakReference<VMListener>> iter = listeners.iterator();
178+
while (iter.hasNext()) {
179+
WeakReference<VMListener> ref = iter.next();
180+
if (listener.equals(ref.get())) {
181+
return true;
182+
}
183+
}
184+
return false;
178185
}
179186

180187
synchronized void removeListener(VMListener listener) {

0 commit comments

Comments
 (0)