Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ut0wqueue.h
Go to the documentation of this file.
1
/*****************************************************************************
2
3
Copyright (C) 2006, 2009, Innobase Oy. All Rights Reserved.
4
5
This program is free software; you can redistribute it and/or modify it under
6
the terms of the GNU General Public License as published by the Free Software
7
Foundation; version 2 of the License.
8
9
This program is distributed in the hope that it will be useful, but WITHOUT
10
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
13
You should have received a copy of the GNU General Public License along with
14
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
15
St, Fifth Floor, Boston, MA 02110-1301 USA
16
17
*****************************************************************************/
18
19
/*******************************************************************/
26
/*******************************************************************/
32
#pragma once
33
#ifndef IB_WORK_QUEUE_H
34
#define IB_WORK_QUEUE_H
35
36
#include "
ut0list.h
"
37
#include "
mem0mem.h
"
38
#include "
os0sync.h
"
39
#include "
sync0types.h
"
40
41
typedef
struct
ib_wqueue_struct
ib_wqueue_t
;
42
43
/****************************************************************/
46
UNIV_INTERN
47
ib_wqueue_t
*
48
ib_wqueue_create
(
void
);
49
/*===================*/
50
51
/****************************************************************/
53
UNIV_INTERN
54
void
55
ib_wqueue_free
(
56
/*===========*/
57
ib_wqueue_t
* wq);
59
/****************************************************************/
61
UNIV_INTERN
62
void
63
ib_wqueue_add
(
64
/*==========*/
65
ib_wqueue_t
* wq,
66
void
* item,
67
mem_heap_t
* heap);
70
/****************************************************************/
73
UNIV_INTERN
74
void
*
75
ib_wqueue_wait
(
76
/*===========*/
77
ib_wqueue_t
* wq);
79
/* Work queue. */
80
struct
ib_wqueue_struct
{
81
mutex_t
mutex
;
82
ib_list_t
*
items
;
83
os_event_t
event
;
84
};
85
86
#endif
ib_wqueue_create
UNIV_INTERN ib_wqueue_t * ib_wqueue_create(void)
Definition:
ut0wqueue.cc:33
ib_wqueue_free
UNIV_INTERN void ib_wqueue_free(ib_wqueue_t *wq)
Definition:
ut0wqueue.cc:52
ib_wqueue_struct::items
ib_list_t * items
Definition:
ut0wqueue.h:82
ib_wqueue_wait
UNIV_INTERN void * ib_wqueue_wait(ib_wqueue_t *wq)
Definition:
ut0wqueue.cc:89
os0sync.h
ib_wqueue_struct
Definition:
ut0wqueue.h:80
ib_wqueue_struct::event
os_event_t event
Definition:
ut0wqueue.h:83
mutex_struct
Definition:
sync0sync.h:697
os_event_struct
Definition:
os0sync.h:61
mem_block_info_struct
Definition:
mem0mem.h:351
ut0list.h
mem0mem.h
ib_list_struct
Definition:
ut0list.h:147
ib_wqueue_add
UNIV_INTERN void ib_wqueue_add(ib_wqueue_t *wq, void *item, mem_heap_t *heap)
Definition:
ut0wqueue.cc:69
sync0types.h
ib_wqueue_struct::mutex
mutex_t mutex
Definition:
ut0wqueue.h:81
plugin
innobase
include
ut0wqueue.h
Generated by
1.8.9.1