Welcome! Please see the About page for a little more info on how this works.

0 votes
in core.async by

Once a mix has been created, the go-loop inside mix will always recur. Obviously, input-channels can be unmixed and the output-channel could be closed, but the process would still never terminate.

Probably mixes should support something like (stop) to to make the mix-associated process garbage-collectable. Operations on a stopped mix should probably throw.

3 Answers

0 votes
by

Comment made by: gshayban

On 0.1.278 the mix process terminates when its output channel closes (link: 1).

(link: 1) https://github.com/clojure/core.async/blob/master/src/main/clojure/clojure/core/async.clj#L778

0 votes
by

Comment made by: lgs32a

Yes, it has been fixed using the new return behavior of put!. (I can't find an option to close this issue)

0 votes
by
Reference: https://clojure.atlassian.net/browse/ASYNC-39 (reported by lgs32a)
...