Avoid unwanted log messages during startup.
[paraslash.git] / server.c
index 07440003edf6f5d9b356026234f0bee72c091db4..31d29c73dc5595c881173abe4eea892854b1f6a3 100644 (file)
--- a/server.c
+++ b/server.c
@@ -236,13 +236,13 @@ void parse_config_or_die(int override)
                        .print_errors = !conf.daemon_given
                };
                server_cmdline_parser_config_file(cf, &conf, &params);
+               daemon_set_loglevel(conf.loglevel_arg);
                conf.daemon_given = tmp;
        }
        if (conf.logfile_given) {
                daemon_set_logfile(conf.logfile_arg);
                daemon_open_log_or_die();
        }
-       daemon_set_loglevel(conf.loglevel_arg);
        init_colors_or_die();
        daemon_set_flag(DF_LOG_PID);
        daemon_set_flag(DF_LOG_LL);
@@ -278,13 +278,13 @@ static void handle_sighup(void)
                kill(mmd->afs_pid, SIGHUP);
 }
 
-static void signal_post_select(struct sched *s, __a_unused struct task *t)
+static int signal_post_select(struct sched *s, __a_unused struct task *t)
 {
        int signum = para_next_signal(&s->rfds);
 
        switch (signum) {
        case 0:
-               return;
+               return 0;
        case SIGHUP:
                handle_sighup();
                break;
@@ -329,6 +329,7 @@ cleanup:
                shm_detach(mmd);
                exit(EXIT_FAILURE);
        }
+       return 0;
 }
 
 static void init_signal_task(void)
@@ -421,8 +422,7 @@ static void init_server_command_task(int argc, char **argv)
 
        PARA_NOTICE_LOG("initializing tcp command socket\n");
        sct->task.pre_select = command_pre_select;
-       sct->task.new_post_select = command_post_select;
-       sct->task.post_select = NULL;
+       sct->task.post_select = command_post_select;
        sct->argc = argc;
        sct->argv = argv;
        ret = para_listen_simple(IPPROTO_TCP, conf.port_arg);
@@ -490,6 +490,7 @@ static void server_init(int argc, char **argv)
        server_cmdline_parser_ext(argc, argv, &conf, &params);
        HANDLE_VERSION_FLAG("server", conf);
        drop_privileges_or_die(conf.user_arg, conf.group_arg);
+       daemon_set_loglevel(conf.loglevel_arg);
        /* parse config file, open log and set defaults */
        parse_config_or_die(0);
        log_welcome("para_server");