From 5ef544c1bda89db7ca1d7df37f272ed6085ae274 Mon Sep 17 00:00:00 2001 From: vhuynh3000 Date: Thu, 22 Oct 2020 21:44:58 -0700 Subject: [PATCH] Remove the ensure block and close the socket only if there is no exception so that exception during reads do not leave an engine running with no socket. --- src/lsquic/client.cr | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/lsquic/client.cr b/src/lsquic/client.cr index b99f3db..63a7a24 100644 --- a/src/lsquic/client.cr +++ b/src/lsquic/client.cr @@ -225,11 +225,10 @@ module QUIC LibLsquic.engine_packet_in(engine, buffer[0, bytes_read], bytes_read, socket.local_address, socket.remote_address, Box.box(socket), 0) if bytes_read != 0 LibLsquic.engine_process_conns(engine) end - rescue IO::Error - # may have already been closed - ensure @socket.try &.close @socket = nil + rescue IO::Error + # may have already been closed end end