X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=server.c;h=6c2cbb8758bc5f98e12ca69198ebfb069c595e77;hb=6b291ea777418071bb21c20aa7804447d95422bc;hp=908e039b1cf66be5909b102edfb20aa83ceb2b2a;hpb=093dda1824631372587d107d64601389027c6187;p=paraslash.git diff --git a/server.c b/server.c index 908e039b..6c2cbb87 100644 --- a/server.c +++ b/server.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2014 Andre Noll + * Copyright (C) 1997 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -113,27 +113,17 @@ struct server_command_task { struct task *task; }; -static int want_colors(void) -{ - if (conf.color_arg == color_arg_no) - return 0; - if (conf.color_arg == color_arg_yes) - return 1; - if (conf.logfile_given) - return 0; - return isatty(STDERR_FILENO); -} - -static void init_colors_or_die(void) +/** + * Return the list of tasks for the server process. + * + * This is called from \a com_tasks(). The helper is necessary since command + * handlers can not access the scheduler structure directly. + * + * \return A dynamically allocated string that must be freed by the caller. + */ +char *server_get_tasks(void) { - int i; - - if (!want_colors()) - return; - daemon_set_flag(DF_COLOR_LOG); - daemon_set_default_log_colors(); - for (i = 0; i < conf.log_color_given; i++) - daemon_set_log_color_or_die(conf.log_color_arg[i]); + return get_task_list(&sched); } /* @@ -218,7 +208,9 @@ void parse_config_or_die(int override) daemon_set_logfile(conf.logfile_arg); daemon_open_log_or_die(); } - init_colors_or_die(); + + daemon_init_colors_or_die(conf.color_arg, color_arg_auto, color_arg_no, + conf.logfile_given, conf.log_color_arg, conf.log_color_given); daemon_set_flag(DF_LOG_PID); daemon_set_flag(DF_LOG_LL); daemon_set_flag(DF_LOG_TIME); @@ -483,12 +475,12 @@ static void server_init(int argc, char **argv) version_handle_flag("server", conf.version_given); if (conf.help_given || conf.detailed_help_given) print_help_and_die(); - drop_privileges_or_die(conf.user_arg, conf.group_arg); + daemon_drop_privileges_or_die(conf.user_arg, conf.group_arg); /* parse config file, open log and set defaults */ parse_config_or_die(0); - log_welcome("para_server"); + daemon_log_welcome("para_server"); init_ipc_or_die(); /* init mmd struct and mmd->lock */ - set_server_start_time(NULL); + daemon_set_start_time(); init_user_list(user_list_file); /* become daemon */ if (conf.daemon_given) @@ -526,7 +518,7 @@ static void server_init(int argc, char **argv) static void status_refresh(void) { static int prev_uptime = -1, prev_events = -1; - int uptime = get_server_uptime(now); + int uptime = daemon_get_uptime(now); if (prev_events != mmd->events) goto out;