From a51c593e6106c6bc23b7a322aaa67496ff50dc06 Mon Sep 17 00:00:00 2001 From: "Tristan B. Kildaire" Date: Tue, 10 May 2022 15:11:50 +0200 Subject: [PATCH] Bug fix for select() usage --- source/tristanable/watcher.d | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/tristanable/watcher.d b/source/tristanable/watcher.d index b3409b8..7062d82 100644 --- a/source/tristanable/watcher.d +++ b/source/tristanable/watcher.d @@ -59,7 +59,7 @@ public final class Watcher : Thread { /* We acre about `endpoint` status changes */ socketSetR = new SocketSet(); - socketSetR.add(endpoint); + socketSetW = new SocketSet(); socketSetE = new SocketSet(); @@ -78,6 +78,9 @@ public final class Watcher : Thread /* The message's data */ byte[] receivedMessage; + /* We want to check if `endpoint` can be read from */ + socketSetR.add(endpoint); + /* Check if the endpoint has any data available */ int status = Socket.select(socketSetR, socketSetW, socketSetE, timeOut); @@ -100,6 +103,7 @@ public final class Watcher : Thread if(socketSetR.isSet(endpoint)) { /* Do nothing (fall through) */ + } /* We have an error */ else