diff options
author | nicm <nicm> | 2015-11-14 09:41:06 +0000 |
---|---|---|
committer | nicm <nicm> | 2015-11-14 09:41:06 +0000 |
commit | c56b81a2ce815f6d289232f20bb6e07cfd0e36ec (patch) | |
tree | 7a018a8f9d4354684ad5748e4d218fd8d3273fc5 /server-fn.c | |
parent | 908e6bb68f127f2bdf0c15ac25dde9ccc06e9104 (diff) | |
download | rtmux-c56b81a2ce815f6d289232f20bb6e07cfd0e36ec.tar.gz rtmux-c56b81a2ce815f6d289232f20bb6e07cfd0e36ec.tar.bz2 rtmux-c56b81a2ce815f6d289232f20bb6e07cfd0e36ec.zip |
Push stdout and stderr to clients more aggressively, and add an event to
continue if the send fails.
Diffstat (limited to 'server-fn.c')
-rw-r--r-- | server-fn.c | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/server-fn.c b/server-fn.c index e9a04cb5..bded7246 100644 --- a/server-fn.c +++ b/server-fn.c @@ -450,50 +450,6 @@ server_callback_identify(unused int fd, unused short events, void *data) server_clear_identify(c); } -/* Push stdout to client if possible. */ -void -server_push_stdout(struct client *c) -{ - struct msg_stdout_data data; - size_t size; - - size = EVBUFFER_LENGTH(c->stdout_data); - if (size == 0) - return; - if (size > sizeof data.data) - size = sizeof data.data; - - memcpy(data.data, EVBUFFER_DATA(c->stdout_data), size); - data.size = size; - - if (proc_send(c->peer, MSG_STDOUT, -1, &data, sizeof data) == 0) - evbuffer_drain(c->stdout_data, size); -} - -/* Push stderr to client if possible. */ -void -server_push_stderr(struct client *c) -{ - struct msg_stderr_data data; - size_t size; - - if (c->stderr_data == c->stdout_data) { - server_push_stdout(c); - return; - } - size = EVBUFFER_LENGTH(c->stderr_data); - if (size == 0) - return; - if (size > sizeof data.data) - size = sizeof data.data; - - memcpy(data.data, EVBUFFER_DATA(c->stderr_data), size); - data.size = size; - - if (proc_send(c->peer, MSG_STDERR, -1, &data, sizeof data) == 0) - evbuffer_drain(c->stderr_data, size); -} - /* Set stdin callback. */ int server_set_stdin_callback(struct client *c, void (*cb)(struct client *, int, |