diff options
author | Mattias Andrée <maandree@operamail.com> | 2014-04-28 17:41:14 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2014-04-28 17:41:14 +0200 |
commit | 6b556ce0dcb29fda17ecab9a0f9657f0bd32e06d (patch) | |
tree | b64b0e6443f78e9fe43fa536418c1565ca35d0d2 /src | |
parent | handle closing of sockets by peer (diff) | |
download | mds-6b556ce0dcb29fda17ecab9a0f9657f0bd32e06d.tar.gz mds-6b556ce0dcb29fda17ecab9a0f9657f0bd32e06d.tar.bz2 mds-6b556ce0dcb29fda17ecab9a0f9657f0bd32e06d.tar.xz |
store the socket's state
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/mds-server.c | 2 | ||||
-rw-r--r-- | src/mds-server.h | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/mds-server.c b/src/mds-server.c index a82c5e0..4cc3e03 100644 --- a/src/mds-server.c +++ b/src/mds-server.c @@ -332,6 +332,7 @@ void* slave_loop(void* data) /* Fill information table. */ information->list_entry = entry; information->socket_fd = socket_fd; + information->open = 1; if (mds_message_initialise(&(information->message))) { perror(*argv); @@ -356,6 +357,7 @@ void* slave_loop(void* data) else if (errno == ECONNRESET) { r = mds_message_read(&(information->message), socket_fd); + information->open = 0; if (r == 0) { /* TODO */ diff --git a/src/mds-server.h b/src/mds-server.h index 5c41c82..7b03501 100644 --- a/src/mds-server.h +++ b/src/mds-server.h @@ -40,6 +40,11 @@ typedef struct client int socket_fd; /** + * Whether the socket is open + */ + int open; + + /** * Message read buffer for the client */ mds_message_t message; |