X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=server.c;h=ce56494f4fce68d0ce3f1499b8e00ee609d9b05e;hp=bcb43a20e610d275294447b4fc4728f8caaece78;hb=1457610326a2f03878d310c15c1884e22eed92d2;hpb=5fde5b4d4abeb795f71101d1fd3524f8a27971eb diff --git a/server.c b/server.c index bcb43a20..ce56494f 100644 --- a/server.c +++ b/server.c @@ -56,13 +56,13 @@ struct misc_meta_data *mmd; * It also contains the options for all audio file selectors and all supported * senders. */ -struct gengetopt_args_info conf; +struct server_args_info conf; char *user_list = NULL; extern void dccp_send_init(struct sender *); extern void http_send_init(struct sender *); extern void ortp_send_init(struct sender *); -extern struct audio_format afl[]; +/* TODO: This is better handled by autoconf */ /** the list of supported audio file selectors */ struct audio_file_selector selectors[] = { { @@ -234,7 +234,7 @@ static void parse_config(int override) } if (!ret) { int tmp = conf.daemon_given; - cmdline_parser_configfile(cf, &conf, override, 0, 0); + server_cmdline_parser_configfile(cf, &conf, override, 0, 0); conf.daemon_given = tmp; } /* logfile */ @@ -339,7 +339,7 @@ static unsigned do_inits(int argc, char **argv) init_random_seed(); /* parse command line options */ - cmdline_parser(argc, argv, &conf); + server_cmdline_parser(argc, argv, &conf); para_drop_privileges(conf.user_arg, conf.group_arg); /* parse config file, open log and set defaults */ parse_config(0); @@ -436,14 +436,12 @@ int main(int argc, char *argv[]) valid_fd_012(); sockfd = do_inits(argc, argv); repeat: - /* check socket and signal pipe in any case */ FD_ZERO(&rfds); FD_ZERO(&wfds); - FD_SET(sockfd, &rfds); - max_fileno = sockfd; - FD_SET(signal_pipe, &rfds); - max_fileno = MAX(max_fileno, signal_pipe); - + max_fileno = -1; + /* check socket and signal pipe in any case */ + para_fd_set(sockfd, &rfds, &max_fileno); + para_fd_set(signal_pipe, &rfds, &max_fileno); timeout = afs_preselect(); status_refresh(); for (i = 0; senders[i].name; i++) { @@ -451,14 +449,11 @@ repeat: continue; if (!senders[i].pre_select) continue; - senders[i].pre_select(mmd->audio_format >= 0? - &afl[mmd->audio_format] : NULL, - &max_fileno, - &rfds, &wfds); + senders[i].pre_select( &max_fileno, &rfds, &wfds); } if (selectors[mmd->selector_num].pre_select) { ret = selectors[mmd->selector_num].pre_select(&rfds, &wfds); - max_fileno = MAX(max_fileno, ret); + max_fileno = PARA_MAX(max_fileno, ret); } mmd_unlock(); ret = para_select(max_fileno + 1, &rfds, &wfds, timeout); @@ -474,14 +469,10 @@ repeat: continue; if (!senders[i].post_select) continue; - senders[i].post_select(mmd->audio_format >= 0? - &afl[mmd->audio_format] : NULL, - &rfds, &wfds); - } - if (!ret) { - afs_send_chunk(); - status_refresh(); + senders[i].post_select(&rfds, &wfds); } + afs_send_chunk(); + status_refresh(); if (FD_ISSET(signal_pipe, &rfds)) { int sig; sig = para_next_signal();