From d7ed1f85fe67833dbaefd188d73aa283dcf2b463 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Mon, 2 Jun 2025 20:10:54 +0200 Subject: [PATCH] server: Kill global variable sched. Make it local to main() and pass the pointer to the few functions that need it. --- server.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/server.c b/server.c index 3689230a..2fdcc3c9 100644 --- a/server.c +++ b/server.c @@ -77,7 +77,6 @@ int mmd_mutex; /* Serializes log output. */ static int log_mutex; -static struct sched *sched; static struct signal_task *signal_task; /** The process id of the audio file selector process. */ @@ -291,7 +290,7 @@ genocide: return 0; } -static void init_signal_task(void) +static void init_signal_task(struct sched *sched) { signal_task = signal_init_or_die(); para_install_sighandler(SIGINT); @@ -409,7 +408,7 @@ fail: } static void init_server_command_task(struct server_command_task *sct, - int argc, char **argv) + struct sched *sched, int argc, char **argv) { int ret; unsigned n; @@ -521,7 +520,8 @@ static void handle_help_flags(void) exit(EXIT_SUCCESS); } -static void server_init(int argc, char **argv, struct server_command_task *sct) +static void server_init(int argc, char **argv, struct sched *sched, + struct server_command_task *sct) { int ret, afs_socket, daemon_pipe = -1; char *errctx; @@ -562,11 +562,11 @@ static void server_init(int argc, char **argv, struct server_command_task *sct) para_block_signal(SIGCHLD); PARA_NOTICE_LOG("initializing the audio file selector\n"); afs_socket = init_afs(argc, argv); - init_signal_task(); + init_signal_task(sched); para_unblock_signal(SIGCHLD); PARA_NOTICE_LOG("initializing virtual streaming system\n"); vss_init(afs_socket, sched); - init_server_command_task(sct, argc, argv); + init_server_command_task(sct, sched, argc, argv); if (daemon_pipe >= 0) { if (write(daemon_pipe, "\0", 1) < 0) { PARA_EMERG_LOG("daemon_pipe: %s", strerror(errno)); @@ -646,9 +646,9 @@ int main(int argc, char *argv[]) int ret; struct server_command_task server_command_task_struct, *sct = &server_command_task_struct; + struct sched *sched = sched_new(server_poll); - sched = sched_new(server_poll); - server_init(argc, argv, sct); + server_init(argc, argv, sched, sct); mutex_lock(mmd_mutex); ret = schedule(sched); /* -- 2.39.5