From cd42113e79b291a9e061aa0f18a231e008a2527b Mon Sep 17 00:00:00 2001 From: Nakidai Date: Sun, 27 Apr 2025 00:05:22 +0300 Subject: Fix server socket Since it is used in poll, no need for it to be non-blocking Also, accept(2) actually has a lot of error codes, and its return value should be checked --- ttb.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ttb.c b/ttb.c index 38055a7..d64375d 100644 --- a/ttb.c +++ b/ttb.c @@ -38,7 +38,7 @@ int main(int argc, char **argv) err(1, "inet_pton()"); } - peers[0] = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0); + peers[0] = socket(AF_INET, SOCK_STREAM, 0); if (peers[0] == -1) err(1, "socket()"); @@ -72,6 +72,11 @@ int main(int argc, char **argv) if (ppeers[0].revents & POLLIN) { int client = accept(peers[0], NULL, NULL); + if (client == -1) + { + warn("accept()"); + goto after; + } for (size_t i = 1; i < lengthof(peers); ++i) if (!peers[i]) { -- cgit 1.4.1