[go: nahoru, domu]

Skip to content

Commit

Permalink
Merge pull request #364 from jacoco/issue-364
Browse files Browse the repository at this point in the history
GitHub #364: Avoid ConcurrentModificationException during shutdown.
  • Loading branch information
marchof committed Dec 4, 2015
2 parents fd06abc + 12164ff commit 8d8f7bf
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,20 @@ public void testPut() {
dataOutput);
}

@Test
public void testReentrantAccept() {
final boolean[] probes = new boolean[] { false, false, true };
store.put(new ExecutionData(1000, "Sample0", probes));
store.put(new ExecutionData(1001, "Sample1", probes));
store.accept(new IExecutionDataVisitor() {
public void visitClassExecution(ExecutionData data) {
store.put(new ExecutionData(1002, "Sample2", probes));
ExecutionDataStoreTest.this.visitClassExecution(data);
}
});
assertEquals(2, dataOutput.size());
}

@Test
public void testGetContents() {
final boolean[] probes = new boolean[] {};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
*******************************************************************************/
package org.jacoco.core.data;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
Expand Down Expand Up @@ -154,7 +155,7 @@ public void reset() {
* @return current contents
*/
public Collection<ExecutionData> getContents() {
return entries.values();
return new ArrayList<ExecutionData>(entries.values());
}

/**
Expand All @@ -164,7 +165,7 @@ public Collection<ExecutionData> getContents() {
* interface to write content to
*/
public void accept(final IExecutionDataVisitor visitor) {
for (final ExecutionData data : entries.values()) {
for (final ExecutionData data : getContents()) {
visitor.visitClassExecution(data);
}
}
Expand Down
2 changes: 2 additions & 0 deletions org.jacoco.doc/docroot/doc/changes.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ <h3>Fixed Bugs</h3>
<ul>
<li>Fix <code>MBeanClient</code> example
(GitHub <a href="https://github.com/jacoco/jacoco/issues/333">#333</a>).</li>
<li>Avoid <code>ConcurrentModificationException</code> during shutdown
(GitHub <a href="https://github.com/jacoco/jacoco/issues/364">#364</a>).</li>
</ul>

<h3>API Changes</h3>
Expand Down

0 comments on commit 8d8f7bf

Please sign in to comment.