X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink_queue.h;h=996231807096dc878036492450b24b38c5ecf7ac;hb=a1b6ee1e25c9b0cbd2265d86a2d4020eddba735b;hp=fc751a8fdd4abbdb2cf55c1fc2ff023468023350;hpb=eab10b649461c6b6103bcd44615710d7a6a3740d;p=meshlink diff --git a/src/meshlink_queue.h b/src/meshlink_queue.h index fc751a8f..99623180 100644 --- a/src/meshlink_queue.h +++ b/src/meshlink_queue.h @@ -36,6 +36,15 @@ typedef struct meshlink_queue_item { struct meshlink_queue_item *next; } meshlink_queue_item_t; +static inline void meshlink_queue_init(meshlink_queue_t *queue) { + queue->head = NULL; + queue->tail = NULL; + pthread_mutexattr_t attr; + pthread_mutexattr_init(&attr); + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_DEFAULT); + pthread_mutex_init(&queue->mutex, &attr); +} + static inline bool meshlink_queue_push(meshlink_queue_t *queue, void *data) { meshlink_queue_item_t *item = malloc(sizeof(*item));