RFR: 8274755: Replace 'while' cycles with iterator with enhanced-for in jdk.jdi
Serguei Spitsyn
sspitsyn at openjdk.java.net
Tue Oct 5 22:24:08 UTC 2021
On Tue, 5 Oct 2021 20:06:08 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:
>> src/jdk.jdi/share/classes/com/sun/tools/jdi/EventRequestManagerImpl.java line 881:
>>
>>> 879: // copy the eventRequests to avoid ConcurrentModificationException
>>> 880: for (EventRequest eventRequest : new ArrayList<>(eventRequests)) {
>>> 881: ((EventRequestImpl) eventRequest).delete();
>>
>> I'm not sure the `eventRequest` needs to be wrapped into new `ArrayList`. I think, this should work without it.
>
> It seems odd at first, but seems to have been done purposefully. Perhaps it has to do with the fact that delete() is being called, which does appear to also end up deleting the request from the list (see line 167). I don't think you want to be deleting from or adding to a collection that you are iterating over.
You are right, thanks.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5577
More information about the serviceability-dev
mailing list