summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorTest_User <hax@andrewyu.org>2023-08-08 22:46:35 -0400
committerTest_User <hax@andrewyu.org>2023-08-08 22:46:35 -0400
commitac1f2aaadd927e8187edabaea9a788425bb42b9f (patch)
tree7844c985e98768fc003b6b3fd947de55f3f6dca2 /main.c
parentf1d2ffc3bd202cd38903619497bc5b80d5064c74 (diff)
downloadcoupserv-ac1f2aaadd927e8187edabaea9a788425bb42b9f.tar.gz
coupserv-ac1f2aaadd927e8187edabaea9a788425bb42b9f.zip
Hopefully disconnect on its own when things break now
Diffstat (limited to 'main.c')
-rw-r--r--main.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/main.c b/main.c
index 0fdd429..6d29836 100644
--- a/main.c
+++ b/main.c
@@ -230,9 +230,18 @@ int main(void) {
struct string full_msg = {malloc(0), 0};
while (1) {
char data[512];
- pthread_mutex_unlock(&send_lock);
- uint64_t new_len = RECV(data, sizeof(data));
- pthread_mutex_lock(&send_lock);
+
+ char timeout;
+ uint64_t new_len;
+ while (1) {
+ pthread_mutex_unlock(&send_lock);
+ new_len = RECV(data, sizeof(data), &timeout);
+ pthread_mutex_lock(&send_lock);
+ if (!timeout)
+ break;
+
+ SEND(STRING(""));
+ }
if (new_len == 0) {
WRITES(1, STRING("Disconnected.\n"));