diff options
Diffstat (limited to 'storage/xtradb/include/ut0wqueue.h')
-rw-r--r-- | storage/xtradb/include/ut0wqueue.h | 42 |
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 |