Drizzled Public API Documentation

ut0wqueue.h File Reference
#include "ut0list.h"
#include "mem0mem.h"
#include "os0sync.h"
#include "sync0types.h"

Go to the source code of this file.

Classes

struct  ib_wqueue_struct
 

Macros

#define IB_WORK_QUEUE_H
 

Typedefs

typedef struct ib_wqueue_struct ib_wqueue_t
 

Functions

UNIV_INTERN ib_wqueue_tib_wqueue_create (void)
 
UNIV_INTERN void ib_wqueue_free (ib_wqueue_t *wq)
 
UNIV_INTERN void ib_wqueue_add (ib_wqueue_t *wq, void *item, mem_heap_t *heap)
 
UNIV_INTERN void * ib_wqueue_wait (ib_wqueue_t *wq)
 

Detailed Description

A work queue

Created 4/26/2006 Osku Salerma

Definition in file ut0wqueue.h.

Macro Definition Documentation

#define IB_WORK_QUEUE_H

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.

Definition at line 34 of file ut0wqueue.h.

Function Documentation

UNIV_INTERN void ib_wqueue_add ( ib_wqueue_t wq,
void *  item,
mem_heap_t heap 
)

Add a work item to the queue. in: memory heap to use for allocating the list node

Add a work item to the queue.

Parameters
wqin: work queue
itemin: work item
heapin: memory heap to use for allocating the list node

Definition at line 69 of file ut0wqueue.cc.

References ib_wqueue_struct::event, ib_list_add_last(), ib_wqueue_add(), ib_wqueue_struct::items, ib_wqueue_struct::mutex, and os_event_set().

Referenced by ib_wqueue_add().

UNIV_INTERN ib_wqueue_t* ib_wqueue_create ( void  )

Create a new work queue.

Returns
work queue

Definition at line 33 of file ut0wqueue.cc.

References ib_wqueue_struct::event, ib_list_create(), ib_wqueue_create(), ib_wqueue_struct::items, ib_wqueue_struct::mutex, and os_event_create().

Referenced by ib_wqueue_create().

UNIV_INTERN void ib_wqueue_free ( ib_wqueue_t wq)

Free a work queue. in: work queue

Free a work queue.

Parameters
wqin: work queue

Definition at line 52 of file ut0wqueue.cc.

References ib_wqueue_struct::event, ib_list_free(), ib_list_get_first(), ib_wqueue_free(), ib_wqueue_struct::items, mem_free, ib_wqueue_struct::mutex, os_event_free(), and ut_a.

Referenced by ib_wqueue_free().

UNIV_INTERN void* ib_wqueue_wait ( ib_wqueue_t wq)

Wait for a work item to appear in the queue.

Returns
work item in: work queue

Wait for a work item to appear in the queue.

Returns
work item
Parameters
wqin: work queue

Definition at line 89 of file ut0wqueue.cc.

References ib_list_node_struct::data, ib_wqueue_struct::event, ib_list_get_first(), ib_list_remove(), ib_wqueue_wait(), ib_wqueue_struct::items, ib_wqueue_struct::mutex, and os_event_reset().

Referenced by ib_wqueue_wait().