From 811ed951e1be1c69bd3af9387b49cd466a42be1f Mon Sep 17 00:00:00 2001 From: Kelvin Ly Date: Wed, 17 May 2023 07:22:44 -0400 Subject: [PATCH] Write newlines to trigger read error out on a closed connection --- shroom_internals/tcp_server.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/shroom_internals/tcp_server.go b/shroom_internals/tcp_server.go index 4d8009e..3d19c13 100644 --- a/shroom_internals/tcp_server.go +++ b/shroom_internals/tcp_server.go @@ -250,13 +250,19 @@ func InitTcpServer(db *sql.DB, state *ShroomState) { left = buf } - _, err := conn.Write([]byte{}) + _, err := conn.Write([]byte("\n")) if err != nil { log.Println("tcp write error: ", err) _ = conn.Close() log.Println("disconnected from client") break } + err = conn.SetReadDeadline(time.Now().Add(time.Second)) + if err != nil { + log.Println("unable to set read deadline ", err) + _ = conn.Close() + break + } num_read, err := conn.Read(left) left = left[num_read:]