From a08e917dbb2310fbc5852e675992b6fd5499cb86 Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Fri, 17 Feb 2023 22:58:37 +0100 Subject: Use SIGINT to stop player and update player status less frequently --- src/main.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index dbb76ae..024293c 100644 --- a/src/main.c +++ b/src/main.c @@ -4,11 +4,23 @@ #include "player.h" #include "tui.h" +#include #include +static void stop(int sig); static void init(void); static void cleanup(int code, void *arg); +void +stop(int sig) +{ + if (player.loaded) { + player_stop(); + } else { + exit(0); + } +} + void init(void) { @@ -26,7 +38,7 @@ init(void) dbus_init(); on_exit(cleanup, NULL); - signal(SIGINT, exit); + signal(SIGINT, stop); signal(SIGTERM, exit); signal(SIGKILL, exit); } -- cgit v1.2.3-71-gd317