From 9ca43c73ba29d6b42cd771f1567074418c883c3e Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Wed, 8 Feb 2017 15:21:19 +0100 Subject: Changes knowledge structure, defines protocol. --- src/server/server_worker.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'src/server/server_worker.c') diff --git a/src/server/server_worker.c b/src/server/server_worker.c index f6378e0..bd3b5d1 100644 --- a/src/server/server_worker.c +++ b/src/server/server_worker.c @@ -1,10 +1,10 @@ -#include +#include #include #include #include "server.h" -static void initialize +static int initialize ( struct ZoO_server_worker worker [const restrict static 1], void * input @@ -22,6 +22,16 @@ static void initialize worker->buffer = (char *) NULL; worker->buffer_capacity = 0; worker->buffer_length = 0; + + worker->socket_as_file = fdopen(worker->params.socket, "w+"); + + if (worker->socket_as_file == (FILE *) NULL) + { + /* TODO: error message? */ + return -1; + } + + return 0; } static void finalize @@ -29,6 +39,23 @@ static void finalize struct ZoO_server_worker worker [const restrict static 1] ) { + if (worker->socket_as_file != (FILE *) NULL) + { + fclose(worker->socket_as_file); + + worker->socket_as_file = NULL; + } + + if (worker->buffer != (char *) NULL) + { + free((void *) worker->buffer); + + worker->buffer = (char *) NULL; + } + + worker->buffer_capacity = 0; + worker->buffer_length = 0; + pthread_mutex_lock(&(worker->params.thread_collection->mutex)); worker->params.thread_collection->threads[worker->params.thread_id].state = -- cgit v1.2.3-70-g09d2