|
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