]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - ao_write.c
Makefile: Remove $all_ggos.
[paraslash.git] / ao_write.c
index bb60e191f4ddb748bbc80aa683c7c8d79fe68122..a45d4fb946eea25087746fc786712229dae0dacc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2011-2012 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -9,7 +9,6 @@
 #include <pthread.h>
 #include <ao/ao.h>
 #include <regex.h>
-#include <stdbool.h>
 
 #include "para.h"
 #include "fd.h"
@@ -281,7 +280,6 @@ static void aow_post_select(__a_unused struct sched *s,
                struct task *t)
 {
        struct writer_node *wn = container_of(t, struct writer_node, task);
-       struct btr_node *btrn = wn->btrn;
        struct private_aow_data *pawd = wn->private_data;
        int ret;
 
@@ -289,14 +287,14 @@ static void aow_post_select(__a_unused struct sched *s,
                int32_t rate, ch, format;
                struct btr_node_description bnd;
 
-               ret = btr_node_status(btrn, wn->min_iqs, BTR_NT_LEAF);
+               ret = btr_node_status(wn->btrn, wn->min_iqs, BTR_NT_LEAF);
                if (ret < 0)
                        goto remove_btrn;
                if (ret == 0)
                        return;
-               get_btr_sample_rate(btrn, &rate);
-               get_btr_channels(btrn, &ch);
-               get_btr_sample_format(btrn, &format);
+               get_btr_sample_rate(wn->btrn, &rate);
+               get_btr_channels(wn->btrn, &ch);
+               get_btr_sample_format(wn->btrn, &format);
                ret = aow_init(wn, rate, ch, format);
                if (ret < 0)
                        goto remove_btrn;
@@ -304,7 +302,7 @@ static void aow_post_select(__a_unused struct sched *s,
 
                /* set up thread btr node */
                bnd.name = "ao_thread_btrn";
-               bnd.parent = btrn;
+               bnd.parent = wn->btrn;
                bnd.child = NULL;
                bnd.handler = NULL;
                bnd.context = pawd;
@@ -317,27 +315,24 @@ static void aow_post_select(__a_unused struct sched *s,
                return;
        }
        pthread_mutex_lock(&pawd->mutex);
-       ret = btr_node_status(btrn, wn->min_iqs, BTR_NT_LEAF);
+       ret = btr_node_status(wn->btrn, wn->min_iqs, BTR_NT_LEAF);
        if (ret > 0) {
-               btr_pushdown(btrn);
+               btr_pushdown(wn->btrn);
                pthread_cond_signal(&pawd->data_available);
        }
        pthread_mutex_unlock(&pawd->mutex);
        if (ret >= 0)
                goto out;
        pthread_mutex_lock(&pawd->mutex);
-       btr_remove_node(btrn);
-       btrn = NULL;
+       btr_remove_node(&wn->btrn);
        PARA_INFO_LOG("waiting for thread to terminate\n");
        pthread_cond_signal(&pawd->data_available);
        pthread_mutex_unlock(&pawd->mutex);
        pthread_join(pawd->thread, NULL);
 remove_thread_btrn:
-       btr_remove_node(pawd->thread_btrn);
-       btr_free_node(pawd->thread_btrn);
+       btr_remove_node(&pawd->thread_btrn);
 remove_btrn:
-       if (btrn)
-               btr_remove_node(btrn);
+       btr_remove_node(&wn->btrn);
 out:
        t->error = ret;
 }
@@ -376,7 +371,6 @@ void ao_write_init(struct writer *w)
        w->post_select = aow_post_select;
        w->parse_config_or_die = aow_parse_config_or_die;
        w->free_config = aow_free_config;
-       w->shutdown = NULL;
        w->help = (struct ggo_help) {
                .short_help = ao_write_args_info_help,
        };