summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-02-13 18:02:32 +0100
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-02-13 18:02:32 +0100
commitf25fa7b132ef08431455075dadcf1823a5796dba (patch)
tree2ee12d2745eff192d23f1dd29de43ab83ed0c26a /src/server/server_worker_receive.c
parent7af295b2ec22f06b24079bf895ac97079f64b6d7 (diff)
Seems to work reasonably well.code-improvements
Diffstat (limited to 'src/server/server_worker_receive.c')
-rw-r--r--src/server/server_worker_receive.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/server/server_worker_receive.c b/src/server/server_worker_receive.c
index 10944a9..5b4edc3 100644
--- a/src/server/server_worker_receive.c
+++ b/src/server/server_worker_receive.c
@@ -1,3 +1,9 @@
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+
+#include "../error/error.h"
+
#include "server.h"
int ZoO_server_worker_receive
@@ -5,8 +11,11 @@ int ZoO_server_worker_receive
struct ZoO_server_worker worker [const restrict static 1]
)
{
+ const int old_errno = errno;
ssize_t received;
+ errno = 0;
+
received =
getline
(
@@ -17,11 +26,20 @@ int ZoO_server_worker_receive
if (received == -1)
{
- /* TODO: error message? */
+ ZoO_ERROR
+ (
+ stderr,
+ "Thread could not receive from socket: %s.",
+ strerror(errno)
+ );
+
+ errno = old_errno;
return -1;
}
+ errno = old_errno;
+
worker->buffer_length = (size_t) received;
return 0;