]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - audiod_command.c
Alsa improvement and fixes.
[paraslash.git] / audiod_command.c
index 8b21b5586e01b4a4a93bf346657f9ddedbe93303..b790fc15b1e3226950706bd1180210382792047b 100644 (file)
@@ -9,12 +9,14 @@
 #include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
+#include <stdbool.h>
 
 #include "para.h"
 #include "audiod.cmdline.h"
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
+#include "buffer_tree.h"
 #include "filter.h"
 #include "grab_client.h"
 #include "error.h"
@@ -58,8 +60,7 @@ struct stat_client {
        struct list_head node;
 };
 
-static struct list_head client_list;
-static int client_list_initialized;
+static INITIALIZED_LIST_HEAD(client_list);
 static int num_clients;
 
 /** The list of all status items used by para_{server,audiod,gui}. */
@@ -69,8 +70,6 @@ static void dump_stat_client_list(void)
 {
        struct stat_client *sc;
 
-       if (!client_list_initialized)
-               return;
        list_for_each_entry(sc, &client_list, node)
                PARA_INFO_LOG("stat client on fd %d\n", sc->fd);
 }
@@ -96,10 +95,6 @@ static int stat_client_add(int fd, uint64_t mask, int parser_friendly)
                        MAX_STAT_CLIENTS);
                return -E_TOO_MANY_CLIENTS;
        }
-       if (!client_list_initialized) {
-               INIT_LIST_HEAD(&client_list);
-               client_list_initialized = 1;
-       }
        PARA_INFO_LOG("adding client on fd %d\n", fd);
        new_client = para_calloc(sizeof(struct stat_client));
        new_client->fd = fd;
@@ -126,8 +121,6 @@ void stat_client_write_item(int item_num)
        struct para_buffer pfpb = {.flags = PBF_SIZE_PREFIX};
        const uint64_t one = 1;
 
-       if (!client_list_initialized)
-               return;
        list_for_each_entry_safe(sc, tmp, &client_list, node) {
                int fd = sc->fd, ret;