Structures and functions for enqueueing and dequeuing general-purpose messages from a queue. More...
Go to the source code of this file.
Functions | |
int | enqueue_msg (struct msg_queue *q, struct dedos_msg *msg) |
Enqueues a message to be delivered as soon as possible. More... | |
int | schedule_msg (struct msg_queue *q, struct dedos_msg *msg, struct timespec *interval) |
Schedules a message to be delivered once interval time has passed. More... | |
static double | timediff_s (struct timespec *t1, struct timespec *t2) |
Returns the difference in time in seconds, t2 - t1. More... | |
struct dedos_msg * | dequeue_msg (struct msg_queue *q) |
Dequeues the first available message from q . More... | |
int | init_msg_queue (struct msg_queue *q, sem_t *sem) |
Initilializes a mesasge queue to have no messages in it, and sets up the mutex and semaphore. More... | |
Variables | |
static struct timespec | zero = {} |
Interval 0 seconds from now. More... | |
Structures and functions for enqueueing and dequeuing general-purpose messages from a queue.
Definition in file message_queue.c.
Dequeues the first available message from q
.
If there are no messages, or no messages with a suitable delivery time, returns NULL.
Definition at line 87 of file message_queue.c.
Enqueues a message to be delivered as soon as possible.
Definition at line 34 of file message_queue.c.
int init_msg_queue | ( | struct msg_queue * | q, |
sem_t * | sem | ||
) |
Initilializes a mesasge queue to have no messages in it, and sets up the mutex and semaphore.
Definition at line 153 of file message_queue.c.
Schedules a message to be delivered once interval
time has passed.
Definition at line 38 of file message_queue.c.
|
static |
Returns the difference in time in seconds, t2 - t1.
Definition at line 83 of file message_queue.c.
|
static |
Interval 0 seconds from now.
Definition at line 32 of file message_queue.c.