|
libosmocore 1.7.0
Osmocom core library
|
Osmocom Inter-Thread queue implementation. More...
#include "../config.h"#include <pthread.h>#include <unistd.h>#include <string.h>#include <errno.h>#include <sys/eventfd.h>#include <osmocom/core/linuxlist.h>#include <osmocom/core/talloc.h>#include <osmocom/core/utils.h>#include <osmocom/core/it_q.h>Functions | |
| static int | eventfd_increment (int fd, uint64_t inc) |
| static | LLIST_HEAD (it_queues) |
| static struct osmo_it_q * | _osmo_it_q_by_name (const char *name) |
| struct osmo_it_q * | osmo_it_q_by_name (const char *name) |
| resolve it-queue by its [globally unique] name More... | |
| static int | osmo_it_q_fd_cb (struct osmo_fd *ofd, unsigned int what) |
| struct osmo_it_q * | osmo_it_q_alloc (void *ctx, const char *name, unsigned int max_length, void(*read_cb)(struct osmo_it_q *q, struct llist_head *item), void *data) |
| Allocate a new inter-thread message queue. More... | |
| static void * | item_dequeue (struct llist_head *queue) |
| static void | _osmo_it_q_flush (struct osmo_it_q *q) |
| Flush all messages currently present in queue. More... | |
| void | osmo_it_q_flush (struct osmo_it_q *q) |
| Flush all messages currently present in queue. More... | |
| void | osmo_it_q_destroy (struct osmo_it_q *q) |
| Destroy a message queue. More... | |
| int | _osmo_it_q_enqueue (struct osmo_it_q *queue, struct llist_head *item) |
| Thread-safe en-queue to an inter-thread message queue. More... | |
| struct llist_head * | _osmo_it_q_dequeue (struct osmo_it_q *queue) |
| Thread-safe de-queue from an inter-thread message queue. More... | |
Variables | |
| static pthread_rwlock_t | it_queues_rwlock = PTHREAD_RWLOCK_INITIALIZER |
Osmocom Inter-Thread queue implementation.