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.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/server/server_worker.c') diff --git a/src/server/server_worker.c b/src/server/server_worker.c index c96f92e..e1118e8 100644 --- a/src/server/server_worker.c +++ b/src/server/server_worker.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "server.h" @@ -10,6 +11,8 @@ static int initialize void * input ) { + const int old_errno = errno; + memcpy ( (void *) &(worker->params), @@ -29,12 +32,24 @@ static int initialize worker->socket_as_file = fdopen(worker->params.socket, "w+"); + errno = 0; + if (worker->socket_as_file == (FILE *) NULL) { - /* TODO: error message? */ + ZoO_ERROR + ( + stderr, + "Unable to open client socket as a file stream: %s.", + strerror(errno) + ); + + errno = old_errno; + return -1; } + errno = old_errno; + return 0; } -- cgit v1.2.3-70-g09d2