diff --git a/src/core/Channel.pm6 b/src/core/Channel.pm6 index 50e21c3024a..6e190f28e43 100644 --- a/src/core/Channel.pm6 +++ b/src/core/Channel.pm6 @@ -78,12 +78,14 @@ my class Channel does Awaitable { nqp::istype(msg, CHANNEL_CLOSE), nqp::stmts( $!closed_promise_vow.keep(Nil), + nqp::push($!queue, msg), Nil ), nqp::if( nqp::istype(msg, CHANNEL_FAIL), nqp::stmts( $!closed_promise_vow.break(msg.error), + nqp::push($!queue, msg), Nil ), msg diff --git a/t/spectest.data b/t/spectest.data index 8c90d26453e..8d7f03feee1 100644 --- a/t/spectest.data +++ b/t/spectest.data @@ -836,6 +836,7 @@ S16-io/words.t S16-unfiled/rebindstdhandles.t S17-channel/basic.t S17-channel/stress.t # stress slow +S17-channel/subscription-drain-in-react.t S17-lowlevel/atomic.t # moar S17-lowlevel/atomic-ops.t # moar S17-lowlevel/cas.t