From f25fa7b132ef08431455075dadcf1823a5796dba Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Mon, 13 Feb 2017 18:02:32 +0100 Subject: Seems to work reasonably well. --- src/server/server_worker_receive.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/server/server_worker_receive.c') diff --git a/src/server/server_worker_receive.c b/src/server/server_worker_receive.c index 10944a9..5b4edc3 100644 --- a/src/server/server_worker_receive.c +++ b/src/server/server_worker_receive.c @@ -1,3 +1,9 @@ +#include +#include +#include + +#include "../error/error.h" + #include "server.h" int ZoO_server_worker_receive @@ -5,8 +11,11 @@ int ZoO_server_worker_receive struct ZoO_server_worker worker [const restrict static 1] ) { + const int old_errno = errno; ssize_t received; + errno = 0; + received = getline ( @@ -17,11 +26,20 @@ int ZoO_server_worker_receive if (received == -1) { - /* TODO: error message? */ + ZoO_ERROR + ( + stderr, + "Thread could not receive from socket: %s.", + strerror(errno) + ); + + errno = old_errno; return -1; } + errno = old_errno; + worker->buffer_length = (size_t) received; return 0; -- cgit v1.2.3-70-g09d2