| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-02-08 15:21:19 +0100 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-02-08 15:21:19 +0100 |
| commit | 9ca43c73ba29d6b42cd771f1567074418c883c3e (patch) | |
| tree | 1e3560f218c80fe1e343a647c1d0f177d2d16b0f /src/server/server_worker.c | |
| parent | ee26b8ff850add4f83b912635a71dbde06f268d1 (diff) | |
Changes knowledge structure, defines protocol.
Diffstat (limited to 'src/server/server_worker.c')
| -rw-r--r-- | src/server/server_worker.c | 31 |
1 files changed, 29 insertions, 2 deletions
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 <signal.h> +#include <stdlib.h> #include <string.h> #include <stdio.h> #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 = |


