diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mds-server.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/mds-server.c b/src/mds-server.c index 9512457..a82c5e0 100644 --- a/src/mds-server.c +++ b/src/mds-server.c @@ -353,15 +353,24 @@ void* slave_loop(void* data) fprintf(stderr, "%s: corrupt message received.\n", *argv); goto fail; } - else if (errno != EINTR) + else if (errno == ECONNRESET) { - perror(*argv); - goto fail; + r = mds_message_read(&(information->message), socket_fd); + if (r == 0) + { + /* TODO */ + } + break; /* Connection closed. */ } - else + else if (errno == EINTR) { /* TODO */ } + else + { + perror(*argv); + goto fail; + } } |