X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=alsa_write.c;h=43f0811a58be4c5835a5109ffe8ff34f15df1e2d;hp=2e096c0c78856e6d0691f31c5fcba768ab3a695d;hb=24758c5f;hpb=b66dfd41e268e64b65d2990bdec3d3a7e119e234 diff --git a/alsa_write.c b/alsa_write.c index 2e096c0c..43f0811a 100644 --- a/alsa_write.c +++ b/alsa_write.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2012 Andre Noll + * Copyright (C) 2005-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -15,7 +15,6 @@ #include #include #include -#include #include "para.h" #include "fd.h" @@ -247,8 +246,10 @@ static void alsa_write_post_select(__a_unused struct sched *s, snd_pcm_sframes_t frames; int ret; + ret = task_get_notification(t); + if (ret < 0) + goto err; again: - t->error = 0; ret = btr_node_status(btrn, wn->min_iqs, BTR_NT_LEAF); if (ret == 0) return; @@ -328,18 +329,18 @@ err: t->error = ret; } -__malloc static void *alsa_parse_config_or_die(const char *options) +__malloc static void *alsa_parse_config_or_die(int argc, char **argv) { struct alsa_write_args_info *conf = para_calloc(sizeof(*conf)); /* exits on errors */ - alsa_cmdline_parser_string(options, conf, "alsa_write"); + alsa_write_cmdline_parser(argc, argv, conf); return conf; } static void alsa_free_config(void *conf) { - alsa_cmdline_parser_free(conf); + alsa_write_cmdline_parser_free(conf); } /** @@ -353,7 +354,7 @@ void alsa_write_init(struct writer *w) { struct alsa_write_args_info dummy; - alsa_cmdline_parser_init(&dummy); + alsa_write_cmdline_parser_init(&dummy); w->close = alsa_close; w->pre_select = alsa_write_pre_select; w->post_select = alsa_write_post_select; @@ -363,5 +364,5 @@ void alsa_write_init(struct writer *w) .short_help = alsa_write_args_info_help, .detailed_help = alsa_write_args_info_detailed_help }; - alsa_cmdline_parser_free(&dummy); + alsa_write_cmdline_parser_free(&dummy); }