]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - server.c
Make struct ls_data local to aft.c.
[paraslash.git] / server.c
index a048cfda9b9cf3c31cf0715b3b909c4eee5ec71c..68434e94e56820c81bb14de76b6759bc645cce29 100644 (file)
--- a/server.c
+++ b/server.c
@@ -100,6 +100,7 @@ int mmd_mutex;
 static char *user_list_file = NULL;
 
 static struct sched sched;
+static struct signal_task *signal_task;
 
 /** The task responsible for server command handling. */
 struct server_command_task {
@@ -295,22 +296,18 @@ cleanup:
 
 static void init_signal_task(void)
 {
-       static struct signal_task signal_task_struct,
-               *st = &signal_task_struct;
-
-       PARA_NOTICE_LOG("setting up signal handling\n");
-       st->fd = para_signal_init(); /* always successful */
+       signal_task = signal_init_or_die();
        para_install_sighandler(SIGINT);
        para_install_sighandler(SIGTERM);
        para_install_sighandler(SIGHUP);
        para_install_sighandler(SIGCHLD);
        para_sigaction(SIGPIPE, SIG_IGN);
-       add_close_on_fork_list(st->fd);
-       st->task = task_register(&(struct task_info) {
+       add_close_on_fork_list(signal_task->fd);
+       signal_task->task = task_register(&(struct task_info) {
                .name = "signal",
                .pre_select = signal_pre_select,
                .post_select = signal_post_select,
-               .context = st,
+               .context = signal_task,
 
        }, &sched);
 }
@@ -364,7 +361,7 @@ static int command_post_select(struct sched *s, void *context)
        free(chunk_table);
        alarm(ALARM_TIMEOUT);
        close_listed_fds();
-       para_signal_shutdown();
+       signal_shutdown(signal_task);
        /*
         * put info on who we are serving into argv[0] to make
         * client ip visible in top/ps