]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
server: Kill global variable sched.
authorAndre Noll <maan@tuebingen.mpg.de>
Mon, 2 Jun 2025 18:10:54 +0000 (20:10 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Wed, 11 Jun 2025 15:40:13 +0000 (17:40 +0200)
Make it local to main() and pass the pointer to the few functions that need it.

server.c

index 3689230a928b8d9804100d784cac5c8d9e77cbed..2fdcc3c97e37de28b81ed94fa818322a662f0844 100644 (file)
--- 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);
        /*