version 1.374, 2020/05/16 15:36:57 |
version 1.375, 2020/05/16 16:07:55 |
|
|
{ |
{ |
struct tty *tty = data; |
struct tty *tty = data; |
struct client *c = tty->client; |
struct client *c = tty->client; |
|
const char *name = c->name; |
size_t size = EVBUFFER_LENGTH(tty->in); |
size_t size = EVBUFFER_LENGTH(tty->in); |
int nread; |
int nread; |
|
|
nread = evbuffer_read(tty->in, tty->fd, -1); |
nread = evbuffer_read(tty->in, tty->fd, -1); |
if (nread == 0 || nread == -1) { |
if (nread == 0 || nread == -1) { |
|
if (nread == 0) |
|
log_debug("%s: read closed", name); |
|
else |
|
log_debug("%s: read error: %s", name, strerror(errno)); |
event_del(&tty->event_in); |
event_del(&tty->event_in); |
server_client_lost(tty->client); |
server_client_lost(tty->client); |
return; |
return; |
} |
} |
log_debug("%s: read %d bytes (already %zu)", c->name, nread, size); |
log_debug("%s: read %d bytes (already %zu)", name, nread, size); |
|
|
while (tty_keys_next(tty)) |
while (tty_keys_next(tty)) |
; |
; |