Skip to content

Commit 7b892c6

Browse files
committed
clean up executor-for logic
1 parent 13f9287 commit 7b892c6

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

src/main/clojure/clojure/core/async/impl/dispatch.clj

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,12 @@
9898
user factory)."
9999
(memoize
100100
(fn ^ExecutorService [workload]
101-
(if-let [sysprop-factory (when-let [esf (System/getProperty "clojure.core.async.executor-factory")]
102-
(requiring-resolve (symbol esf)))]
103-
(if-let [sys-es (sysprop-factory workload)]
104-
sys-es
105-
(if (= workload :core-async-dispatch)
106-
(executor-for :io)
107-
(default-executor-factory workload)))
101+
(let [sysprop-factory (when-let [esf (System/getProperty "clojure.core.async.executor-factory")]
102+
(requiring-resolve (symbol esf)))
103+
sp-exec (and sysprop-factory (sysprop-factory workload))]
108104
(if (= workload :core-async-dispatch)
109-
(executor-for :io)
110-
(default-executor-factory workload))))))
105+
(or sp-exec (executor-for :io))
106+
(or sp-exec (default-executor-factory workload)))))))
111107

112108
(defn exec
113109
[^Runnable r workload]

0 commit comments

Comments
 (0)