File tree Expand file tree Collapse file tree 2 files changed +7
-5
lines changed
src/main/clojure/clojure/core/async Expand file tree Collapse file tree 2 files changed +7
-5
lines changed Original file line number Diff line number Diff line change 133
133
[g pid cmd-id more-kvs] (g/command-proc g pid cmd-id more-kvs))
134
134
135
135
(defn inject
136
- " synchronously puts the messages on the channel corresponding to the
137
- input or output of the process"
136
+ " asynchronously puts the messages on the channel corresponding to the
137
+ input or output of the process, returning a future that will
138
+ complete when done."
138
139
[g [pid io-id :as coord] msgs] (g/inject g coord msgs))
139
140
140
141
(defn process
Original file line number Diff line number Diff line change 79
79
(let [{:keys [control]} (running-chans )]
80
80
(async/>!! control #::flow{:command command :to to})))]
81
81
(reify
82
- clojure.core.async.flow.impl.graph.Graph
82
+ clojure.core.async.flow.impl.graph.Graph
83
83
(start [_]
84
84
(.lock lock)
85
85
(try
170
170
(inject [_ coord msgs]
171
171
(let [{:keys [resolver]} (running-chans )
172
172
chan (spi/get-write-chan resolver coord)]
173
- (doseq [m msgs]
174
- (async/>!! chan m)))))))
173
+ ((futurize #(doseq [m msgs]
174
+ (async/>!! chan m))
175
+ {:exec :io })))))))
175
176
176
177
(defn handle-command
177
178
[pid pong status cmd]
You can’t perform that action at this time.
0 commit comments