From: Andre Noll Date: Sun, 19 Jul 2009 13:23:42 +0000 (+0200) Subject: Introduce LIST_HEAD macro and use it in audiod_command. X-Git-Tag: v0.4.0~50^2~4 X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=899677b50128e00e58d76d26c05be9f078204c67;p=paraslash.git Introduce LIST_HEAD macro and use it in audiod_command. Using initialized list heads where possible allows to get rid of the checks whether the list is already initialized. --- diff --git a/audiod_command.c b/audiod_command.c index 8b21b558..2eaf26b9 100644 --- a/audiod_command.c +++ b/audiod_command.c @@ -58,8 +58,7 @@ struct stat_client { struct list_head node; }; -static struct list_head client_list; -static int client_list_initialized; +static LIST_HEAD(client_list); static int num_clients; /** The list of all status items used by para_{server,audiod,gui}. */ @@ -69,8 +68,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 +93,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 +119,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; diff --git a/list.h b/list.h index de04ab9e..db2e8490 100644 --- a/list.h +++ b/list.h @@ -33,6 +33,10 @@ struct list_head { struct list_head *prev; }; +/** Define an initialized list head. */ +#define LIST_HEAD(name) struct list_head name = { &(name), &(name) } + + /** must be called before using any other list functions */ #define INIT_LIST_HEAD(ptr) do { \ (ptr)->next = (ptr); (ptr)->prev = (ptr); \