#include "tqueue.h"
#include "malloc.h"
#include "io.h"
Functions | |
void | thread_queue_init (thread_queue_t *queue) |
Initialize thread queue - empty queue is simply NULL. | |
int | thread_queue_empty (thread_queue_t *queue) |
Check the emptyness of the queue. | |
void | thread_queue_add (thread_queue_t *queue, thread_t *item, enum queue_types qt) |
Add the item into thread_queue. | |
int | thread_queue_fetch (thread_queue_t *queue, thread_t *item, enum queue_types qt) |
fetch the first item from thread queue - remove from the queue | |
int | thread_queue_remove_item (thread_queue_t *queue, thread_t *item, enum queue_types qt) |
remove item from the thread queue | |
int | thread_queue_remove_item_by_id (thread_queue_t *queue, int thread_id, enum queue_types qt) |
remove item from the thread queue, by id | |
void | thread_queue_rotate (thread_queue_t *queue, enum queue_types qt) |
Rotate the thread_queue one item to the right (on empty queue no effect). | |
void | thread_queue_enqueue (thread_queue_t *queue, thread_t *item, enum queue_types qt) |
enqueue thread to the queue, sort threads by wakeup time. | |
void | thread_queue_debug_print (thread_queue_t *queue, enum queue_types qt) |
int | thread_queue_exists (thread_queue_t *queue, thread_t item, enum queue_types qt) |
Checks, if the item is member of this queue. |
This file is based on Kalisto, Development Kernel copyrighted (c) to Distributed Systems Research Group MFF UK, Czech republic.
void thread_queue_add | ( | thread_queue_t * | queue, | |
thread_t * | item, | |||
enum queue_types | qt | |||
) |
Add the item into thread_queue.
queue | - thread queue pointer | |
qt | type of queue to be removed from | |
item | - pointer to insert |
void thread_queue_debug_print | ( | thread_queue_t * | queue, | |
enum queue_types | qt | |||
) |
Created for debuging (internal) purposes only, prit memebers of the queue
queue | - Pointer to the head of queue to be printed, | |
qt | type of queue to be removed from. |
int thread_queue_empty | ( | thread_queue_t * | queue | ) |
Check the emptyness of the queue.
void thread_queue_enqueue | ( | thread_queue_t * | queue, | |
thread_t * | item, | |||
enum queue_types | qt | |||
) |
enqueue thread to the queue, sort threads by wakeup time.
queue | - Pointer to the head of queue | |
item | - thread to e enqueued | |
qt | type of queue to be removed from |
int thread_queue_exists | ( | thread_queue_t * | queue, | |
thread_t | item, | |||
enum queue_types | qt | |||
) |
Checks, if the item is member of this queue.
queue | - Pointer to the head of queue to be printed, | |
item | item to be checked | |
qt | type of queue to be removed from. |
int thread_queue_fetch | ( | thread_queue_t * | queue, | |
thread_t * | item, | |||
enum queue_types | qt | |||
) |
fetch the first item from thread queue - remove from the queue
queue | thread queue pointer | |
item | pointer - fetched item | |
qt | type of queue to be fetched from |
void thread_queue_init | ( | thread_queue_t * | queue | ) |
Initialize thread queue - empty queue is simply NULL.
queue | thread queue pointer |
int thread_queue_remove_item | ( | thread_queue_t * | queue, | |
thread_t * | item, | |||
enum queue_types | qt | |||
) |
remove item from the thread queue
queue | - thread queue pointer | |
item | pointer - item to remove | |
qt | type of queue to be removed from |
int thread_queue_remove_item_by_id | ( | thread_queue_t * | queue, | |
int | thread_id, | |||
enum queue_types | qt | |||
) |
remove item from the thread queue, by id
queue | - thread queue pointer | |
thread_id | - id of the thread to be remove | |
qt | type of queue to be removed from |
void thread_queue_rotate | ( | thread_queue_t * | queue, | |
enum queue_types | qt | |||
) |
Rotate the thread_queue one item to the right (on empty queue no effect).
queue | - Pointer to the head of queue | |
qt | type of queue to be removed from |