From 67bd22c154ccc6d32ebc0d9adcb16b4ebb33e452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Sun, 7 Nov 2021 14:45:56 +0100 Subject: poller-pa.c: abandon the idea of quitting the loop There are no users of this API in practice, and it prevents making the libpulse dependency optional. --- paswitch.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'paswitch.c') diff --git a/paswitch.c b/paswitch.c index b43fc00..ba7ffc8 100644 --- a/paswitch.c +++ b/paswitch.c @@ -143,6 +143,7 @@ struct app_context struct poller_timer tty_timer; ///< Terminal input timeout struct str tty_input_buffer; ///< Buffered terminal input + bool quitting; ///< Quitting requested pa_mainloop_api *api; ///< PulseAudio event loop proxy pa_context *context; ///< PulseAudio connection context @@ -683,7 +684,7 @@ on_action (struct app_context *ctx, enum action action) break; case ACTION_QUIT: - poller_pa_quit (ctx->api, 0); + ctx->quitting = true; case ACTION_NONE: break; } @@ -910,7 +911,7 @@ on_signal_pipe_readable (const struct pollfd *pfd, struct app_context *ctx) (void) read (pfd->fd, &id, 1); if (id == SIGINT || id == SIGTERM || id == SIGHUP) - poller_pa_quit (ctx->api, 0); + ctx->quitting = true; else if (id == SIGWINCH) poller_idle_set (&ctx->redraw_event); else @@ -1068,7 +1069,9 @@ main (int argc, char *argv[]) poller_timer_init_and_set (&ctx.make_context, &ctx.poller, on_make_context, &ctx); - int status = poller_pa_run (ctx.api); + while (!ctx.quitting) + poller_run (&ctx.poller); + app_context_free (&ctx); - return status; + return 0; } -- cgit v1.2.3