summaryrefslogtreecommitdiff
path: root/storage/xtradb/include/ut0wqueue.h
diff options
context:
space:
mode:
Diffstat (limited to 'storage/xtradb/include/ut0wqueue.h')
-rw-r--r--storage/xtradb/include/ut0wqueue.h42
1 files changed, 25 insertions, 17 deletions
diff --git a/storage/xtradb/include/ut0wqueue.h b/storage/xtradb/include/ut0wqueue.h
index 6bb80dad532..2ec0f16ab05 100644
--- a/storage/xtradb/include/ut0wqueue.h
+++ b/storage/xtradb/include/ut0wqueue.h
@@ -16,7 +16,14 @@ Place, Suite 330, Boston, MA 02111-1307 USA
*****************************************************************************/
-/***********************************************************************
+/*******************************************************************//**
+@file include/ut0wqueue.h
+A work queue
+
+Created 4/26/2006 Osku Salerma
+************************************************************************/
+
+/*******************************************************************//**
A Work queue. Threads can add work items to the queue and other threads can
wait for work items to be available and take them off the queue for
processing.
@@ -32,46 +39,47 @@ processing.
typedef struct ib_wqueue_struct ib_wqueue_t;
-/********************************************************************
-Create a new work queue. */
+/****************************************************************//**
+Create a new work queue.
+@return work queue */
UNIV_INTERN
ib_wqueue_t*
ib_wqueue_create(void);
/*===================*/
- /* out: work queue */
-/********************************************************************
+/****************************************************************//**
Free a work queue. */
UNIV_INTERN
void
ib_wqueue_free(
/*===========*/
- ib_wqueue_t* wq); /* in: work queue */
+ ib_wqueue_t* wq); /*!< in: work queue */
-/********************************************************************
+/****************************************************************//**
Add a work item to the queue. */
UNIV_INTERN
void
ib_wqueue_add(
/*==========*/
- ib_wqueue_t* wq, /* in: work queue */
- void* item, /* in: work item */
- mem_heap_t* heap); /* in: memory heap to use for allocating the
+ ib_wqueue_t* wq, /*!< in: work queue */
+ void* item, /*!< in: work item */
+ mem_heap_t* heap); /*!< in: memory heap to use for allocating the
list node */
-/********************************************************************
-Wait for a work item to appear in the queue. */
+/****************************************************************//**
+Wait for a work item to appear in the queue.
+@return work item */
UNIV_INTERN
void*
ib_wqueue_wait(
- /* out: work item */
- ib_wqueue_t* wq); /* in: work queue */
+/*===========*/
+ ib_wqueue_t* wq); /*!< in: work queue */
/* Work queue. */
struct ib_wqueue_struct {
- mutex_t mutex; /* mutex protecting everything */
- ib_list_t* items; /* work item list */
- os_event_t event; /* event we use to signal additions to list */
+ mutex_t mutex; /*!< mutex protecting everything */
+ ib_list_t* items; /*!< work item list */
+ os_event_t event; /*!< event we use to signal additions to list */
};
#endif