From 714461074aaba41761a47bbd2a0dc5af83791346 Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Sun, 24 Nov 2019 14:24:45 -0500 Subject: [PATCH] Catch closed stream in readf --- src/lsquic/client.cr | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lsquic/client.cr b/src/lsquic/client.cr index d10d852..ba3ad1a 100644 --- a/src/lsquic/client.cr +++ b/src/lsquic/client.cr @@ -12,9 +12,13 @@ module QUIC class Client STREAM_READF = ->(stream_if_ctx : Void*, buf : UInt8*, buf_len : LibC::SizeT, fin : LibC::Int) do - stream_ctx = Box(StreamCtx).unbox(stream_if_ctx) - stream_ctx.io.write Slice.new(buf, buf_len) - buf_len + begin + stream_ctx = Box(StreamCtx).unbox(stream_if_ctx) + stream_ctx.io.write Slice.new(buf, buf_len) + buf_len + rescue ex + 0_u64 + end end ON_NEW_STREAM = ->(stream_if_ctx : Void*, s : LibLsquic::StreamT) do