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


