Sync OpenBSD patchset 247:

Initialise log_fd to -1, prevents spurious disconnection of the client when it
ends up as fd 0 (likely if the server is started with "tmux start").

Also add some extra debugging messages to server.c.
This commit is contained in:
Tiago Cunha 2009-08-14 21:24:46 +00:00
parent e2a18894b3
commit 7f77c395e3
2 changed files with 6 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $Id: server.c,v 1.168 2009-08-14 21:17:54 tcunha Exp $ */
/* $Id: server.c,v 1.169 2009-08-14 21:24:46 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -109,6 +109,7 @@ server_create_client(int fd)
}
}
ARRAY_ADD(&clients, c);
log_debug("new client %d", fd);
}
/* Find client index. */
@ -260,6 +261,7 @@ server_main(int srv_fd)
time_t now, last;
siginit();
log_debug("server socket is %d", srv_fd);
last = time(NULL);
@ -906,6 +908,7 @@ server_lost_client(struct client *c)
if (ARRAY_ITEM(&clients, i) == c)
ARRAY_SET(&clients, i, NULL);
}
log_debug("lost client %d", c->ibuf.fd);
tty_free(&c->tty);

3
tty.c
View File

@ -1,4 +1,4 @@
/* $Id: tty.c,v 1.125 2009-08-14 21:23:20 tcunha Exp $ */
/* $Id: tty.c,v 1.126 2009-08-14 21:24:46 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -49,6 +49,7 @@ tty_init(struct tty *tty, int fd, char *path, char *term)
{
tty->path = xstrdup(path);
tty->fd = fd;
tty->log_fd = -1;
if (term == NULL || *term == '\0')
tty->termname = xstrdup("unknown");