#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"
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}. */
{
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);
}
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;
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;