X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audiod.c;h=7085ef0f4da3e303df923c4ea6dd1b705911968d;hp=74aa3865037f15f9c2e092599d54849f839a1dbf;hb=65453788515cd5f4c905b518745b4dd7f6f2da10;hpb=3ac4dd80b465b07c5eb8b8b5200ab67ca948d8f1 diff --git a/audiod.c b/audiod.c index 74aa3865..7085ef0f 100644 --- a/audiod.c +++ b/audiod.c @@ -33,6 +33,7 @@ #include "signal.h" #include "version.h" +__printf_2_3 void (*para_log)(int, const char*, ...) = daemon_log; /** define the array of error lists needed by para_audiod */ INIT_AUDIOD_ERRLISTS; /** define the array containing all supported audio formats */ @@ -776,22 +777,19 @@ static int parse_writer_args(void) ret = parse_stream_command(conf.writer_arg[i], &cmd); if (ret < 0) - goto out; + return ret; af_mask = ret; FOR_EACH_AUDIO_FORMAT(j) { a = afi + j; if ((af_mask & (1 << j)) == 0) /* no match */ continue; - ret = -E_WRITE_COMMON_SYNTAX; - wconf = check_writer_arg(cmd, &writer_num); - if (!wconf) - goto out; + wconf = check_writer_arg_or_die(cmd, &writer_num); nw = a->num_writers; a->writer_nums = para_realloc(a->writer_nums, (nw + 1) * sizeof(int)); a->writer_conf = para_realloc(a->writer_conf, (nw + 1) * sizeof(void *)); a->writer_nums[nw] = writer_num; a->writer_conf[nw] = wconf; - PARA_INFO_LOG("%s writer #%d: %s\n", audio_formats[writer_num], + PARA_INFO_LOG("%s writer #%d: %s\n", audio_formats[j], nw, writer_names[writer_num]); a->num_writers++; } @@ -810,9 +808,7 @@ static int parse_writer_args(void) a->writer_conf[0] = w->parse_config_or_die(""); a->num_writers = 1; } - ret = 1; -out: - return ret; + return 1; } static int parse_receiver_args(void) @@ -1375,7 +1371,7 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } log_welcome("para_audiod"); - server_uptime(UPTIME_SET); + set_server_start_time(NULL); set_initial_status(); FOR_EACH_SLOT(i) clear_slot(i); @@ -1386,7 +1382,7 @@ int main(int argc, char *argv[]) init_command_task(cmd_task); if (conf.daemon_given) - daemonize(); + daemonize(false /* parent exits immediately */); register_task(&sig_task->task); register_task(&cmd_task->task);