diff --git a/src/connection/connection.c b/src/connection/connection.c index 210a989b..876e310d 100644 --- a/src/connection/connection.c +++ b/src/connection/connection.c @@ -389,7 +389,7 @@ ssize_t neu_conn_recv(neu_conn_t *conn, uint8_t *buf, ssize_t len) conn->fd, len, ret, strerror(errno), errno); } - if (errno == EPIPE || ret == -1) { + if (errno == EPIPE || ret == -1 || ret == 0) { conn_disconnect(conn); } diff --git a/src/main.c b/src/main.c index 4ec7ef3d..e908f9f9 100644 --- a/src/main.c +++ b/src/main.c @@ -48,6 +48,7 @@ static void sig_handler(int sig) } zlog_fini(); exit_flag = true; + exit(-1); } static int neuron_run(const neu_cli_args_t *args)