From ac6145ed6af2ae4f4af4a5c8a0598625f39b047e Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Wed, 28 Oct 2020 12:36:05 -0400 Subject: [PATCH] server: handle write errors --- src/server.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/server.c b/src/server.c index 65b8204..3a07b9b 100644 --- a/src/server.c +++ b/src/server.c @@ -463,7 +463,11 @@ client_writable(struct gmnisrv_server *server, struct gmnisrv_client *client) for (int w = 0; w < r; ) { int q = write(client->sockfd, &buf[w], r - w); if (q < 0) { - assert(0); // TODO: handle write errors + client_error(&client->addr, + "client write: %s", + strerror(errno)); + disconnect_client(server, client); + return DISCONNECTED; } w += q; }