File tree 1 file changed +5
-3
lines changed
src/main/java/rx/internal/schedulers
1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change 16
16
package rx .internal .schedulers ;
17
17
18
18
import java .lang .reflect .*;
19
- import java .util .Iterator ;
19
+ import java .util .* ;
20
20
import java .util .concurrent .*;
21
21
import java .util .concurrent .atomic .AtomicReference ;
22
22
@@ -110,10 +110,12 @@ public static void deregisterExecutor(ScheduledExecutorService service) {
110
110
}
111
111
112
112
/** Purges each registered executor and eagerly evicts shutdown executors. */
113
- @ SuppressAnimalSniffer // CHM.keySet returns KeySetView in Java 8+; false positive here
114
113
static void purgeExecutors () {
115
114
try {
116
- Iterator <ScheduledThreadPoolExecutor > it = EXECUTORS .keySet ().iterator ();
115
+ // This prevents map.keySet to compile to a Java 8+ KeySetView return type
116
+ // and cause NoSuchMethodError on Java 6-7 runtimes.
117
+ Map <ScheduledThreadPoolExecutor , ScheduledThreadPoolExecutor > map = EXECUTORS ;
118
+ Iterator <ScheduledThreadPoolExecutor > it = map .keySet ().iterator ();
117
119
while (it .hasNext ()) {
118
120
ScheduledThreadPoolExecutor exec = it .next ();
119
121
if (!exec .isShutdown ()) {
You can’t perform that action at this time.
0 commit comments