| summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/server/server_worker_receive.c')
| -rw-r--r-- | src/server/server_worker_receive.c | 20 |
1 files changed, 19 insertions, 1 deletions
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 <stdio.h> +#include <string.h> +#include <errno.h> + +#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; |


