mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-23 16:43:11 +01:00
Use an explicit event rather than event_once for the main event so it
can be removed when the client becomes ready.
This commit is contained in:
parent
f6cd0342f6
commit
65ff5b00bd
11
tmux.c
11
tmux.c
@ -61,6 +61,7 @@ char *makesockpath(const char *);
|
||||
__dead void shell_exec(const char *, const char *);
|
||||
|
||||
struct imsgbuf *main_ibuf;
|
||||
struct event main_event;
|
||||
|
||||
void main_signal(int, short, unused void *);
|
||||
void main_callback(int, short, void *);
|
||||
@ -547,12 +548,14 @@ main(int argc, char **argv)
|
||||
events = EV_READ;
|
||||
if (main_ibuf->w.queued > 0)
|
||||
events |= EV_WRITE;
|
||||
event_once(main_ibuf->fd, events, main_callback, shellcmd, NULL);
|
||||
event_set(&main_event, main_ibuf->fd, events, main_callback, shellcmd);
|
||||
event_add(&main_event, NULL);
|
||||
|
||||
event_dispatch();
|
||||
|
||||
clear_signals(0);
|
||||
event_del(&main_event);
|
||||
|
||||
clear_signals(0);
|
||||
client_main(); /* doesn't return */
|
||||
}
|
||||
|
||||
@ -585,10 +588,12 @@ main_callback(unused int fd, short events, void *data)
|
||||
fatalx("msgbuf_write failed");
|
||||
}
|
||||
|
||||
event_del(&main_event);
|
||||
events = EV_READ;
|
||||
if (main_ibuf->w.queued > 0)
|
||||
events |= EV_WRITE;
|
||||
event_once(main_ibuf->fd, events, main_callback, shellcmd, NULL);
|
||||
event_set(&main_event, main_ibuf->fd, events, main_callback, shellcmd);
|
||||
event_add(&main_event, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user