Skip to content

Commit a6ebd13

Browse files
author
Josh He
committed
make deleteDirectoryTasks thread safe
1 parent 849579a commit a6ebd13

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

browsermob-core/src/main/java/net/lightbody/bmp/proxy/selenium/SeleniumProxyHandler.java

100644100755
Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,14 @@
4040
import java.net.UnknownHostException;
4141
import java.nio.file.Files;
4242
import java.nio.file.Path;
43-
import java.util.*;
43+
import java.util.Enumeration;
44+
import java.util.HashSet;
45+
import java.util.LinkedHashMap;
46+
import java.util.Map;
47+
import java.util.Set;
48+
import java.util.List;
49+
import java.util.ArrayList;
50+
import java.util.Collections;
4451

4552
/* ------------------------------------------------------------ */
4653

@@ -72,7 +79,7 @@ public class SeleniumProxyHandler extends AbstractHttpHandler {
7279
private final boolean proxyInjectionMode;
7380
private final boolean forceProxyChain;
7481
private boolean fakeCertsGenerated;
75-
private List<DeleteDirectoryTask> deleteDirectoryTasks = new ArrayList<DeleteDirectoryTask>();
82+
private final List<DeleteDirectoryTask> deleteDirectoryTasks = Collections.synchronizedList(new ArrayList<DeleteDirectoryTask>());
7683

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

636643
public void cleanSslWithCyberVilliansCA(){
637-
if(!deleteDirectoryTasks.isEmpty()) {
638-
for(DeleteDirectoryTask task : deleteDirectoryTasks) {
639-
task.run();
644+
synchronized (deleteDirectoryTasks) {
645+
if (!deleteDirectoryTasks.isEmpty()) {
646+
for (DeleteDirectoryTask task : deleteDirectoryTasks) {
647+
task.run();
648+
}
640649
}
641650
}
642651
}

0 commit comments

Comments
 (0)