Skip to content

Commit ed2454a

Browse files
committed
Merge pull request lightbody#321 from chemicwepn/master
change deleteDirectoryTask to a List
2 parents 61ee3bb + a6ebd13 commit ed2454a

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

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

100644100755
Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@
4545
import java.util.LinkedHashMap;
4646
import java.util.Map;
4747
import java.util.Set;
48+
import java.util.List;
49+
import java.util.ArrayList;
50+
import java.util.Collections;
4851

4952
/* ------------------------------------------------------------ */
5053

@@ -76,7 +79,7 @@ public class SeleniumProxyHandler extends AbstractHttpHandler {
7679
private final boolean proxyInjectionMode;
7780
private final boolean forceProxyChain;
7881
private boolean fakeCertsGenerated;
79-
private DeleteDirectoryTask deleteDirectoryTask;
82+
private final List<DeleteDirectoryTask> deleteDirectoryTasks = Collections.synchronizedList(new ArrayList<DeleteDirectoryTask>());
8083

8184
// see docs for the lock object on SeleniumServer for information on this and why it is IMPORTANT!
8285
private Object shutdownLock;
@@ -609,7 +612,8 @@ protected void wireUpSslWithCyberVilliansCA(String host, SslRelay listener) {
609612
final File root = tempDir.toFile();
610613

611614
// delete the temp directory when the VM stops or aborts
612-
deleteDirectoryTask = new DeleteDirectoryTask(tempDir);
615+
DeleteDirectoryTask deleteDirectoryTask = new DeleteDirectoryTask(tempDir);
616+
deleteDirectoryTasks.add(deleteDirectoryTask);
613617
Runtime.getRuntime().addShutdownHook(new Thread(deleteDirectoryTask));
614618

615619
// copy the cybervillains cert files to the temp directory from the classpath
@@ -637,8 +641,12 @@ protected void wireUpSslWithCyberVilliansCA(String host, SslRelay listener) {
637641
}
638642

639643
public void cleanSslWithCyberVilliansCA(){
640-
if(deleteDirectoryTask != null) {
641-
deleteDirectoryTask.run();
644+
synchronized (deleteDirectoryTasks) {
645+
if (!deleteDirectoryTasks.isEmpty()) {
646+
for (DeleteDirectoryTask task : deleteDirectoryTasks) {
647+
task.run();
648+
}
649+
}
642650
}
643651
}
644652

0 commit comments

Comments
 (0)