X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=recv.c;fp=recv.c;h=bc727de0cb65a102c8f1861d75d31c713b748a19;hp=b03c5714b23b23c305b5b0e1114ea5326cd1f841;hb=b01605d7062e4d1f005d5aaaaed158d8efe06d79;hpb=625fdbbafaf3842753bff02b349eaaf9554d846d diff --git a/recv.c b/recv.c index b03c5714..bc727de0 100644 --- a/recv.c +++ b/recv.c @@ -52,16 +52,6 @@ __noreturn static void print_help_and_die(void) exit(0); } -static void *parse_config(int argc, char *argv[], int *receiver_num) -{ - recv_cmdline_parser(argc, argv, &conf); - HANDLE_VERSION_FLAG("recv", conf); - if (conf.help_given || conf.detailed_help_given) - print_help_and_die(); - loglevel = get_loglevel_by_name(conf.loglevel_arg); - return check_receiver_arg(conf.receiver_arg, receiver_num); -} - /** * The main function of para_recv. * @@ -81,16 +71,18 @@ int main(int argc, char *argv[]) struct stdout_task sot; static struct sched s; - s.default_timeout.tv_sec = 1; - s.default_timeout.tv_usec = 0; + recv_cmdline_parser(argc, argv, &conf); + loglevel = get_loglevel_by_name(conf.loglevel_arg); + HANDLE_VERSION_FLAG("recv", conf); + recv_init(); + if (conf.help_given || conf.detailed_help_given) + print_help_and_die(); - memset(&sot, 0, sizeof(struct stdout_task)); memset(&rn, 0, sizeof(struct receiver_node)); - recv_init(); - ret = -E_RECV_SYNTAX; - rn.conf = parse_config(argc, argv, &receiver_num); + rn.conf = check_receiver_arg(conf.receiver_arg, &receiver_num); if (!rn.conf) { - PARA_EMERG_LOG("parse failed\n"); + PARA_EMERG_LOG("invalid receiver specifier\n"); + ret = -E_RECV_SYNTAX; goto out; } r = &receivers[receiver_num]; @@ -102,6 +94,7 @@ int main(int argc, char *argv[]) goto out; r_opened = 1; + memset(&sot, 0, sizeof(struct stdout_task)); sot.btrn = btr_new_node(&(struct btr_node_description) EMBRACE(.parent = rn.btrn, .name = "stdout")); stdout_set_defaults(&sot); @@ -112,6 +105,8 @@ int main(int argc, char *argv[]) sprintf(rn.task.status, "%s", r->name); register_task(&s, &rn.task); + s.default_timeout.tv_sec = 1; + s.default_timeout.tv_usec = 0; ret = schedule(&s); out: if (r_opened)