summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-02-08 15:21:19 +0100
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-02-08 15:21:19 +0100
commit9ca43c73ba29d6b42cd771f1567074418c883c3e (patch)
tree1e3560f218c80fe1e343a647c1d0f177d2d16b0f /src/server/server_worker.c
parentee26b8ff850add4f83b912635a71dbde06f268d1 (diff)
Changes knowledge structure, defines protocol.
Diffstat (limited to 'src/server/server_worker.c')
-rw-r--r--src/server/server_worker.c31
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 =