mirror of
https://github.com/tmux/tmux.git
synced 2025-09-03 06:17:04 +00:00
Merge branch 'obsd-master'
This commit is contained in:
3
tmux.h
3
tmux.h
@ -772,8 +772,7 @@ struct window_pane {
|
|||||||
#define PANE_FOCUSPUSH 0x20
|
#define PANE_FOCUSPUSH 0x20
|
||||||
#define PANE_INPUTOFF 0x40
|
#define PANE_INPUTOFF 0x40
|
||||||
#define PANE_CHANGED 0x80
|
#define PANE_CHANGED 0x80
|
||||||
#define PANE_ERROR 0x100
|
#define PANE_EXITED 0x100
|
||||||
#define PANE_EXITED 0x200
|
|
||||||
|
|
||||||
int argc;
|
int argc;
|
||||||
char **argv;
|
char **argv;
|
||||||
|
14
window.c
14
window.c
@ -390,13 +390,17 @@ window_destroy(struct window *w)
|
|||||||
int
|
int
|
||||||
window_pane_destroy_ready(struct window_pane *wp)
|
window_pane_destroy_ready(struct window_pane *wp)
|
||||||
{
|
{
|
||||||
if (wp->pipe_fd != -1 && EVBUFFER_LENGTH(wp->pipe_event->output) != 0)
|
int n;
|
||||||
return (0);
|
|
||||||
|
if (wp->pipe_fd != -1) {
|
||||||
|
if (EVBUFFER_LENGTH(wp->pipe_event->output) != 0)
|
||||||
|
return (0);
|
||||||
|
if (ioctl(wp->fd, FIONREAD, &n) != -1 && n > 0)
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
if (~wp->flags & PANE_EXITED)
|
if (~wp->flags & PANE_EXITED)
|
||||||
return (0);
|
return (0);
|
||||||
if (~wp->flags & PANE_ERROR)
|
|
||||||
return (0);
|
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1028,7 +1032,7 @@ window_pane_error_callback(__unused struct bufferevent *bufev,
|
|||||||
struct window_pane *wp = data;
|
struct window_pane *wp = data;
|
||||||
|
|
||||||
log_debug("%%%u error", wp->id);
|
log_debug("%%%u error", wp->id);
|
||||||
wp->flags |= PANE_ERROR;
|
wp->flags |= PANE_EXITED;
|
||||||
|
|
||||||
if (window_pane_destroy_ready(wp))
|
if (window_pane_destroy_ready(wp))
|
||||||
server_destroy_pane(wp, 1);
|
server_destroy_pane(wp, 1);
|
||||||
|
Reference in New Issue
Block a user