diff options
author | Test_User <hax@andrewyu.org> | 2023-08-08 22:46:35 -0400 |
---|---|---|
committer | Test_User <hax@andrewyu.org> | 2023-08-08 22:46:35 -0400 |
commit | ac1f2aaadd927e8187edabaea9a788425bb42b9f (patch) | |
tree | 7844c985e98768fc003b6b3fd947de55f3f6dca2 /main.c | |
parent | f1d2ffc3bd202cd38903619497bc5b80d5064c74 (diff) | |
download | c_coupserv-ac1f2aaadd927e8187edabaea9a788425bb42b9f.tar.gz c_coupserv-ac1f2aaadd927e8187edabaea9a788425bb42b9f.zip |
Hopefully disconnect on its own when things break now
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -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")); |