|
40 | 40 | import java.net.UnknownHostException; |
41 | 41 | import java.nio.file.Files; |
42 | 42 | 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; |
44 | 51 |
|
45 | 52 | /* ------------------------------------------------------------ */ |
46 | 53 |
|
@@ -72,7 +79,7 @@ public class SeleniumProxyHandler extends AbstractHttpHandler { |
72 | 79 | private final boolean proxyInjectionMode; |
73 | 80 | private final boolean forceProxyChain; |
74 | 81 | private boolean fakeCertsGenerated; |
75 | | - private List<DeleteDirectoryTask> deleteDirectoryTasks = new ArrayList<DeleteDirectoryTask>(); |
| 82 | + private final List<DeleteDirectoryTask> deleteDirectoryTasks = Collections.synchronizedList(new ArrayList<DeleteDirectoryTask>()); |
76 | 83 |
|
77 | 84 | // see docs for the lock object on SeleniumServer for information on this and why it is IMPORTANT! |
78 | 85 | private Object shutdownLock; |
@@ -634,9 +641,11 @@ protected void wireUpSslWithCyberVilliansCA(String host, SslRelay listener) { |
634 | 641 | } |
635 | 642 |
|
636 | 643 | 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 | + } |
640 | 649 | } |
641 | 650 | } |
642 | 651 | } |
|
0 commit comments