mirror of
https://github.com/tmux/tmux.git
synced 2024-12-13 10:08:47 +00:00
Sync OpenBSD patchset 501:
Move some common code into a function.
This commit is contained in:
parent
40b6941c0f
commit
3acb995ef3
43
client.c
43
client.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: client.c,v 1.85 2009-11-08 22:40:36 tcunha Exp $ */
|
/* $Id: client.c,v 1.86 2009-11-08 23:07:14 tcunha Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -41,6 +41,7 @@ const char *client_exitmsg;
|
|||||||
void client_send_identify(int);
|
void client_send_identify(int);
|
||||||
void client_send_environ(void);
|
void client_send_environ(void);
|
||||||
void client_write_server(enum msgtype, void *, size_t);
|
void client_write_server(enum msgtype, void *, size_t);
|
||||||
|
void client_update_event(void);
|
||||||
void client_signal(int, short, void *);
|
void client_signal(int, short, void *);
|
||||||
void client_callback(int, short, void *);
|
void client_callback(int, short, void *);
|
||||||
int client_dispatch(void);
|
int client_dispatch(void);
|
||||||
@ -158,12 +159,24 @@ client_write_server(enum msgtype type, void *buf, size_t len)
|
|||||||
imsg_compose(&client_ibuf, type, PROTOCOL_VERSION, -1, -1, buf, len);
|
imsg_compose(&client_ibuf, type, PROTOCOL_VERSION, -1, -1, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
client_update_event(void)
|
||||||
|
{
|
||||||
|
short events;
|
||||||
|
|
||||||
|
event_del(&client_event);
|
||||||
|
events = EV_READ;
|
||||||
|
if (client_ibuf.w.queued > 0)
|
||||||
|
events |= EV_WRITE;
|
||||||
|
event_set(&client_event, client_ibuf.fd, events, client_callback, NULL);
|
||||||
|
event_add(&client_event, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
__dead void
|
__dead void
|
||||||
client_main(void)
|
client_main(void)
|
||||||
{
|
{
|
||||||
struct event ev_sigcont, ev_sigterm, ev_sigwinch;
|
struct event ev_sigcont, ev_sigterm, ev_sigwinch;
|
||||||
struct sigaction sigact;
|
struct sigaction sigact;
|
||||||
short events;
|
|
||||||
|
|
||||||
logfile("client");
|
logfile("client");
|
||||||
|
|
||||||
@ -201,13 +214,8 @@ client_main(void)
|
|||||||
if (client_dispatch() != 0)
|
if (client_dispatch() != 0)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
/* Set up the client-server socket event. */
|
/* Set the event and dispatch. */
|
||||||
events = EV_READ;
|
client_update_event();
|
||||||
if (client_ibuf.w.queued > 0)
|
|
||||||
events |= EV_WRITE;
|
|
||||||
event_set(&client_event, client_ibuf.fd, events, client_callback, NULL);
|
|
||||||
event_add(&client_event, NULL);
|
|
||||||
|
|
||||||
event_dispatch();
|
event_dispatch();
|
||||||
|
|
||||||
out:
|
out:
|
||||||
@ -221,7 +229,7 @@ out:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
client_signal(int sig, short events, unused void *data)
|
client_signal(int sig, unused short events, unused void *data)
|
||||||
{
|
{
|
||||||
struct sigaction sigact;
|
struct sigaction sigact;
|
||||||
|
|
||||||
@ -244,12 +252,7 @@ client_signal(int sig, short events, unused void *data)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
event_del(&client_event);
|
client_update_event();
|
||||||
events = EV_READ;
|
|
||||||
if (client_ibuf.w.queued > 0)
|
|
||||||
events |= EV_WRITE;
|
|
||||||
event_set(&client_event, client_ibuf.fd, events, client_callback, NULL);
|
|
||||||
event_add(&client_event, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -271,13 +274,7 @@ client_callback(unused int fd, short events, unused void *data)
|
|||||||
goto lost_server;
|
goto lost_server;
|
||||||
}
|
}
|
||||||
|
|
||||||
event_del(&client_event);
|
client_update_event();
|
||||||
events = EV_READ;
|
|
||||||
if (client_ibuf.w.queued > 0)
|
|
||||||
events |= EV_WRITE;
|
|
||||||
event_set(&client_event, client_ibuf.fd, events, client_callback, NULL);
|
|
||||||
event_add(&client_event, NULL);
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
lost_server:
|
lost_server:
|
||||||
|
Loading…
Reference in New Issue
Block a user