Skip to content

Commit

Permalink
make deleteDirectoryTasks thread safe
Browse files Browse the repository at this point in the history
  • Loading branch information
Josh He committed Sep 9, 2015
1 parent 849579a commit a6ebd13
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions browsermob-core/src/main/java/net/lightbody/bmp/proxy/selenium/SeleniumProxyHandler.java
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,14 @@
import java.net.UnknownHostException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.*;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

/* ------------------------------------------------------------ */

Expand Down Expand Up @@ -72,7 +79,7 @@ public class SeleniumProxyHandler extends AbstractHttpHandler {
private final boolean proxyInjectionMode;
private final boolean forceProxyChain;
private boolean fakeCertsGenerated;
private List<DeleteDirectoryTask> deleteDirectoryTasks = new ArrayList<DeleteDirectoryTask>();
private final List<DeleteDirectoryTask> deleteDirectoryTasks = Collections.synchronizedList(new ArrayList<DeleteDirectoryTask>());

// see docs for the lock object on SeleniumServer for information on this and why it is IMPORTANT!
private Object shutdownLock;
Expand Down Expand Up @@ -634,9 +641,11 @@ protected void wireUpSslWithCyberVilliansCA(String host, SslRelay listener) {
}

public void cleanSslWithCyberVilliansCA(){
if(!deleteDirectoryTasks.isEmpty()) {
for(DeleteDirectoryTask task : deleteDirectoryTasks) {
task.run();
synchronized (deleteDirectoryTasks) {
if (!deleteDirectoryTasks.isEmpty()) {
for (DeleteDirectoryTask task : deleteDirectoryTasks) {
task.run();
}
}
}
}
Expand Down

0 comments on commit a6ebd13

Please sign in to comment.