@@ -30,9 +30,11 @@ to catch and handle."
30
30
[clojure.core.async.impl.mutex :as mutex]
31
31
[clojure.core.async.impl.concurrent :as conc]
32
32
)
33
- (:import [java.util.concurrent.locks Lock]
33
+ (:import [java.util.concurrent.atomic AtomicLong]
34
+ [java.util.concurrent.locks Lock]
34
35
[java.util.concurrent Executors Executor ThreadLocalRandom]
35
- [java.util ArrayList]))
36
+ [java.util Arrays ArrayList]
37
+ [clojure.lang Var]))
36
38
37
39
(alias 'core 'clojure.core)
38
40
@@ -222,7 +224,7 @@ to catch and handle."
222
224
[chan]
223
225
(impl/close! chan))
224
226
225
- (defonce ^:private ^java.util.concurrent.atomic. AtomicLong id-gen (java.util.concurrent.atomic. AtomicLong. ))
227
+ (defonce ^:private ^AtomicLong id-gen (AtomicLong. ))
226
228
227
229
(defn- random-array
228
230
[n]
@@ -231,11 +233,10 @@ to catch and handle."
231
233
(loop [i 1 ]
232
234
(if (= i n)
233
235
a
234
- (do
235
- (let [j (.nextInt rand (inc i))]
236
- (aset a i (aget a j))
237
- (aset a j i)
238
- (recur (inc i))))))))
236
+ (let [j (.nextInt rand (inc i))]
237
+ (aset a i (aget a j))
238
+ (aset a j i)
239
+ (recur (inc i)))))))
239
240
240
241
(defn- alt-flag []
241
242
(let [^Lock m (mutex/mutex )
@@ -456,7 +457,7 @@ to catch and handle."
456
457
[& body]
457
458
(let [crossing-env (zipmap (keys &env) (repeatedly gensym))]
458
459
`(let [c# (chan 1 )
459
- captured-bindings# (clojure.lang. Var/getThreadBindingFrame )]
460
+ captured-bindings# (Var/getThreadBindingFrame )]
460
461
(dispatch/run
461
462
(^:once fn* []
462
463
(let [~@(mapcat (fn [[l sym]] [sym `(^:once fn* [] ~(vary-meta l dissoc :tag ))]) crossing-env)
@@ -476,10 +477,10 @@ to catch and handle."
476
477
f when completed, then close."
477
478
[f]
478
479
(let [c (chan 1 )]
479
- (let [binds (clojure.lang. Var/getThreadBindingFrame )]
480
+ (let [binds (Var/getThreadBindingFrame )]
480
481
(.execute thread-macro-executor
481
482
(fn []
482
- (clojure.lang. Var/resetThreadBindingFrame binds)
483
+ (Var/resetThreadBindingFrame binds)
483
484
(try
484
485
(let [ret (f )]
485
486
(when-not (nil? ret)
@@ -852,7 +853,7 @@ to catch and handle."
852
853
{:solos solos
853
854
:mutes (pick :mute chs)
854
855
:reads (conj
855
- (if (and (= mode :pause ) (not ( empty? solos) ))
856
+ (if (and (= mode :pause ) (seq solos))
856
857
(vec solos)
857
858
(vec (remove pauses (keys chs))))
858
859
change)}))
@@ -952,10 +953,10 @@ to catch and handle."
952
953
(muxch* [_] ch)
953
954
954
955
Pub
955
- (sub* [p topic ch close?]
956
+ (sub* [_p topic ch close?]
956
957
(let [m (ensure-mult topic)]
957
958
(tap m ch close?)))
958
- (unsub* [p topic ch]
959
+ (unsub* [_p topic ch]
959
960
(when-let [m (get @mults topic)]
960
961
(untap m ch)))
961
962
(unsub-all* [_] (reset! mults {}))
@@ -1013,7 +1014,7 @@ to catch and handle."
1013
1014
(fn [ret]
1014
1015
(aset rets i ret)
1015
1016
(when (zero? (swap! dctr dec))
1016
- (put! dchan (java.util. Arrays/copyOf rets cnt)))))
1017
+ (put! dchan (Arrays/copyOf rets cnt)))))
1017
1018
(range cnt))]
1018
1019
(if (zero? cnt)
1019
1020
(close! out)
@@ -1022,7 +1023,7 @@ to catch and handle."
1022
1023
(dotimes [i cnt]
1023
1024
(try
1024
1025
(take! (chs i) (done i))
1025
- (catch Exception e
1026
+ (catch Exception _
1026
1027
(swap! dctr dec))))
1027
1028
(let [rets (<! dchan)]
1028
1029
(if (some nil? rets)
0 commit comments