|
45 | 45 | import java.util.LinkedHashMap;
|
46 | 46 | import java.util.Map;
|
47 | 47 | import java.util.Set;
|
| 48 | +import java.util.List; |
| 49 | +import java.util.ArrayList; |
| 50 | +import java.util.Collections; |
48 | 51 |
|
49 | 52 | /* ------------------------------------------------------------ */
|
50 | 53 |
|
@@ -76,7 +79,7 @@ public class SeleniumProxyHandler extends AbstractHttpHandler {
|
76 | 79 | private final boolean proxyInjectionMode;
|
77 | 80 | private final boolean forceProxyChain;
|
78 | 81 | private boolean fakeCertsGenerated;
|
79 |
| - private DeleteDirectoryTask deleteDirectoryTask; |
| 82 | + private final List<DeleteDirectoryTask> deleteDirectoryTasks = Collections.synchronizedList(new ArrayList<DeleteDirectoryTask>()); |
80 | 83 |
|
81 | 84 | // see docs for the lock object on SeleniumServer for information on this and why it is IMPORTANT!
|
82 | 85 | private Object shutdownLock;
|
@@ -609,7 +612,8 @@ protected void wireUpSslWithCyberVilliansCA(String host, SslRelay listener) {
|
609 | 612 | final File root = tempDir.toFile();
|
610 | 613 |
|
611 | 614 | // 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); |
613 | 617 | Runtime.getRuntime().addShutdownHook(new Thread(deleteDirectoryTask));
|
614 | 618 |
|
615 | 619 | // copy the cybervillains cert files to the temp directory from the classpath
|
@@ -637,8 +641,12 @@ protected void wireUpSslWithCyberVilliansCA(String host, SslRelay listener) {
|
637 | 641 | }
|
638 | 642 |
|
639 | 643 | 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 | + } |
642 | 650 | }
|
643 | 651 | }
|
644 | 652 |
|
|
0 commit comments