Commit 890f96a
committed
Fix closing bug in
When `in` is closed and `out` is also closed by the time the chained handler runs, closing `s'`
would fail because it's `::none`. This non-deterministic case was occasionally observed with
`manifold.stream-test/test-cleanup` failing due to a leaked error deferred like so:
WARNING: unconsumed deferred in error state, make sure you're using `catch`.
java.lang.ClassCastException: clojure.lang.Keyword cannot be cast to manifold.stream.core.IEventStream
at manifold.stream$concat$this__3189__auto____14958$fn__14959$fn__14960.invoke(stream.clj:819)
at manifold.deferred$eval3018$chain_SINGLEQUOTE____3039.invoke(deferred.clj:904)
at manifold.stream$concat$this__3189__auto____14958$fn__14959.invoke(stream.clj:816)
at manifold.stream$concat$this__3189__auto____14958.invoke(stream.clj:815)
at clojure.lang.AFn.applyToHelper(AFn.java:154)
at clojure.lang.AFn.applyTo(AFn.java:144)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$apply.invoke(core.clj:662)
at manifold.stream$concat$this__3189__auto____14958$fn__14984.invoke(stream.clj:815)manifold.stream/concat
1 parent 2f10049 commit 890f96a
1 file changed
+3
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
816 | 816 | | |
817 | 817 | | |
818 | 818 | | |
819 | | - | |
820 | | - | |
821 | | - | |
822 | 819 | | |
823 | 820 | | |
824 | 821 | | |
825 | 822 | | |
826 | 823 | | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
827 | 827 | | |
828 | 828 | | |
829 | 829 | | |
| |||
0 commit comments