From 6a9f876ccd2ddaa58b377cdf798db4de19893188 Mon Sep 17 00:00:00 2001 From: Dane MacFadden Date: Tue, 29 Jul 2025 00:45:06 -0600 Subject: [PATCH] better error checking --- main.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/main.c b/main.c index 05b3d20..c40b806 100644 --- a/main.c +++ b/main.c @@ -23,7 +23,7 @@ LIST *receivelist, *sendlist; pthread_mutex_t sendmut, receivemut; -int sockfd, confd, newfd, client; +int sockfd, confd, client; char *remote_machine, *local_port, *remote_port; /* void *input(void *arg) { @@ -60,11 +60,18 @@ void *output(void *arg) { void *sender(void *arg) { char msg[128]; + int bytes; + char error[] = "pthread sender exit"; + while (1) { memset(msg, 0, 128); printf("Type a message: "); fgets(msg, sizeof(msg), stdin); - send(confd, msg, sizeof(msg), 0); + bytes = send(confd, msg, sizeof(msg), 0); + if (bytes == -1) { + perror("send"); + pthread_exit(&error); + } } return 0; } @@ -72,13 +79,16 @@ void *sender(void *arg) { void *receiver(void *arg) { char buf[128]; int bytes; - char error[] = "pthread exit"; + char error[] = "pthread receiver exit"; while (1) { memset(buf, 0, 128); bytes = recv(confd, buf, 128, 0); if (bytes != -1) { - printf("Received: %s\n", buf); + printf("\nReceived: %s\n", buf); + } + else if (bytes == 0) { + pthread_exit("connection closed"); } else { perror("recv");