diff --git a/tty.c b/tty.c index 24c5d83e..0d1aa368 100644 --- a/tty.c +++ b/tty.c @@ -159,8 +159,9 @@ tty_read_callback(__unused int fd, __unused short events, void *data) int nread; nread = evbuffer_read(tty->in, tty->fd, -1); - if (nread == -1) { + if (nread == 0 || nread == -1) { event_del(&tty->event_in); + server_client_lost(tty->client); return; } log_debug("%s: read %d bytes (already %zu)", c->name, nread, size);