mirror of
https://github.com/tmux/tmux.git
synced 2024-12-13 10:08:47 +00:00
Sync OpenBSD patchset 248:
imsg closes the fd after sending, so dup() STDIN_FILENO before passing it to the parent, otherwise TIOCGWINSZ will fail when the window is resized (that could actually be moved into the server but this is more future-proof and avoids breaking the protocol).
This commit is contained in:
parent
7f77c395e3
commit
1063e5d0e4
7
client.c
7
client.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: client.c,v 1.63 2009-08-14 21:23:20 tcunha Exp $ */
|
/* $Id: client.c,v 1.64 2009-08-14 21:26:07 tcunha Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -44,7 +44,7 @@ client_init(char *path, struct client_ctx *cctx, int cmdflags, int flags)
|
|||||||
struct msg_identify_data data;
|
struct msg_identify_data data;
|
||||||
struct winsize ws;
|
struct winsize ws;
|
||||||
size_t size;
|
size_t size;
|
||||||
int fd, mode;
|
int fd, fd2, mode;
|
||||||
char *name, *term;
|
char *name, *term;
|
||||||
#ifdef HAVE_SETPROCTITLE
|
#ifdef HAVE_SETPROCTITLE
|
||||||
char rpathbuf[MAXPATHLEN];
|
char rpathbuf[MAXPATHLEN];
|
||||||
@ -123,8 +123,9 @@ server_started:
|
|||||||
if (strlcpy(data.tty, name, sizeof data.tty) >= sizeof data.tty)
|
if (strlcpy(data.tty, name, sizeof data.tty) >= sizeof data.tty)
|
||||||
fatalx("ttyname failed");
|
fatalx("ttyname failed");
|
||||||
|
|
||||||
|
fd2 = dup(STDIN_FILENO);
|
||||||
imsg_compose(&cctx->ibuf, MSG_IDENTIFY,
|
imsg_compose(&cctx->ibuf, MSG_IDENTIFY,
|
||||||
PROTOCOL_VERSION, -1, STDIN_FILENO, &data, sizeof data);
|
PROTOCOL_VERSION, -1, fd2, &data, sizeof data);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
Loading…
Reference in New Issue
Block a user