File tree Expand file tree Collapse file tree 1 file changed +6
-6
lines changed
src/main/clojure/clojure/core/async/impl Expand file tree Collapse file tree 1 file changed +6
-6
lines changed Original file line number Diff line number Diff line change 67
67
(when-not (= (.Count puts) 0 )
68
68
(loop [curr-node (.First puts)
69
69
next-node (.Next curr-node)] ; ; curr-node not null at init because count is not 0
70
- (when-not (impl/active? (.Value curr-node))
70
+ (when-not (impl/active? (first ( .Value curr-node)))
71
71
(.Remove puts curr-node))
72
72
(when next-node
73
73
(recur next-node (.Next next-node))))))
123
123
(let ; ;; [iter (.iterator takes)
124
124
; ;; take-cbs (loop [takers []]
125
125
; ;; (if (and (.hasNext iter) (pos? (count buf)))
126
- ; ;; (let [^Lock taker (.hasNext iter)]
126
+ ; ;; (let [^Lock taker (.next iter)]
127
127
; ;; (.lock taker)
128
128
; ;; (let [ret (and (impl/active? taker) (impl/commit taker))]
129
129
; ;; (.unlock taker)
188
188
(do (.lock handler) (.lock taker))
189
189
(do (.lock taker) (.lock handler)))
190
190
(let [ret (when (and (impl/active? handler) (impl/active? taker))
191
- [(impl/commit handler) (impl/commit taker)])]
191
+ [(impl/commit handler) (impl/commit taker)])
192
+ next-node (.Next curr-node)]
192
193
(.unlock handler)
193
194
(.unlock taker)
194
195
(if ret
195
196
(do
196
197
(.Remove takes curr-node)
197
198
ret)
198
- (let [next-node (.Next curr-node)]
199
- (when next-node
200
- (recur next-node (.Value next-node))))))))]
199
+ (when next-node
200
+ (recur next-node (.Value next-node)))))))]
201
201
202
202
(if (and put-cb take-cb)
203
203
(do
You can’t perform that action at this time.
0 commit comments