From aa94a6ea1b73156070d93975404cf6bfbd1257eb Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Sat, 23 Nov 2019 18:11:54 -0500 Subject: [PATCH] Catch exception in on_read --- src/lsquic/client.cr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lsquic/client.cr b/src/lsquic/client.cr index 9ae7494..8a3b4d5 100644 --- a/src/lsquic/client.cr +++ b/src/lsquic/client.cr @@ -83,11 +83,12 @@ class QUIC::Client bytes_read = LibLsquic.stream_read(s, buffer, buffer.size) if bytes_read > 0 - if stream_ctx.writer && !stream_ctx.writer.try &.closed? + begin stream_ctx.writer.try &.write buffer[0, bytes_read] - else + rescue ex LibLsquic.stream_shutdown(s, 0) LibLsquic.stream_wantread(s, 0) + return Box.box(stream_ctx) end elsif bytes_read == 0 LibLsquic.stream_shutdown(s, 0)