From 39a339c813ee3bb7f8e1f65dcf325e7f0db110a2 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 26 May 2015 22:00:25 +0200 Subject: input: remove some unneeded things Wakeup FDs are not needed anymore (this code exists only for libwaio usage by now), and 2 other functions can be made private. --- input/input.c | 26 +++++--------------------- input/input.h | 13 ------------- 2 files changed, 5 insertions(+), 34 deletions(-) (limited to 'input') diff --git a/input/input.c b/input/input.c index 29d5b7831e..2063a45923 100644 --- a/input/input.c +++ b/input/input.c @@ -1331,7 +1331,6 @@ void mp_input_run_cmd(struct input_ctx *ictx, const char **cmd) struct mp_input_src_internal { pthread_t thread; bool thread_running; - int wakeup[2]; bool init_done; char *cmd_buffer; @@ -1339,7 +1338,7 @@ struct mp_input_src_internal { bool drop; }; -struct mp_input_src *mp_input_add_src(struct input_ctx *ictx) +static struct mp_input_src *mp_input_add_src(struct input_ctx *ictx) { input_lock(ictx); if (ictx->num_sources == MP_MAX_SOURCES) { @@ -1354,10 +1353,7 @@ struct mp_input_src *mp_input_add_src(struct input_ctx *ictx) .global = ictx->global, .log = mp_log_new(src, ictx->log, name), .input_ctx = ictx, - .in = talloc(src, struct mp_input_src_internal), - }; - *src->in = (struct mp_input_src_internal){ - .wakeup = {-1, -1}, + .in = talloc_zero(src, struct mp_input_src_internal), }; ictx->sources[ictx->num_sources++] = src; @@ -1366,6 +1362,8 @@ struct mp_input_src *mp_input_add_src(struct input_ctx *ictx) return src; } +static void mp_input_src_kill(struct mp_input_src *src); + static void close_input_sources(struct input_ctx *ictx) { // To avoid lock-order issues, we first remove each source from the context, @@ -1380,7 +1378,7 @@ static void close_input_sources(struct input_ctx *ictx) } } -void mp_input_src_kill(struct mp_input_src *src) +static void mp_input_src_kill(struct mp_input_src *src) { if (!src) return; @@ -1390,7 +1388,6 @@ void mp_input_src_kill(struct mp_input_src *src) if (ictx->sources[n] == src) { MP_TARRAY_REMOVE_AT(ictx->sources, ictx->num_sources, n); input_unlock(ictx); - write(src->in->wakeup[1], &(char){0}, 1); if (src->cancel) src->cancel(src); if (src->in->thread_running) @@ -1439,14 +1436,6 @@ int mp_input_add_thread_src(struct input_ctx *ictx, void *ctx, if (!src) return -1; -#ifndef __MINGW32__ - // Always create for convenience. - if (mp_make_wakeup_pipe(src->in->wakeup) < 0) { - mp_input_src_kill(src); - return -1; - } -#endif - void *args[] = {src, loop_fn, ctx}; if (pthread_create(&src->in->thread, NULL, input_src_thread, args)) { mp_input_src_kill(src); @@ -1459,11 +1448,6 @@ int mp_input_add_thread_src(struct input_ctx *ictx, void *ctx, return 0; } -int mp_input_src_get_wakeup_fd(struct mp_input_src *src) -{ - return src->in->wakeup[0]; -} - #define CMD_BUFFER (4 * 4096) void mp_input_src_feed_cmd_text(struct mp_input_src *src, char *buf, size_t len) diff --git a/input/input.h b/input/input.h index d51492d4c7..2b2299d5cc 100644 --- a/input/input.h +++ b/input/input.h @@ -106,11 +106,6 @@ struct mp_input_src { void *priv; }; -// Add a new input source. The input code can create a new thread, which feeds -// keys or commands to input_ctx. mp_input_src.uninit must be set. -// mp_input_src_kill() must not be called by anything after init. -struct mp_input_src *mp_input_add_src(struct input_ctx *ictx); - // Add an input source that runs on a thread. The source is automatically // removed if the thread loop exits. // ctx: this is passed to loop_fn. @@ -129,14 +124,6 @@ int mp_input_add_thread_src(struct input_ctx *ictx, void *ctx, // Set src->cancel and src->uninit (if needed) before calling this. void mp_input_src_init_done(struct mp_input_src *src); -// Currently only with mp_input_add_thread_src(). -int mp_input_src_get_wakeup_fd(struct mp_input_src *src); - -// Remove and free the source. You can call this only while the input_ctx -// exists; otherwise there would be a race condition when another thread -// destroys input_ctx. -void mp_input_src_kill(struct mp_input_src *src); - // Feed text data, which will be split into lines of commands. void mp_input_src_feed_cmd_text(struct mp_input_src *src, char *buf, size_t len); -- cgit v1.2.3