Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
sync0arr.h
Go to the documentation of this file.
1
/*****************************************************************************
2
3
Copyright (C) 1995, 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
#pragma once
27
#ifndef sync0arr_h
28
#define sync0arr_h
29
30
#include "univ.i"
31
#include "
ut0lst.h
"
32
#include "
ut0mem.h
"
33
#include "
os0thread.h
"
34
36
typedef
struct
sync_cell_struct
sync_cell_t
;
38
typedef
struct
sync_array_struct
sync_array_t
;
39
41
#define SYNC_ARRAY_OS_MUTEX 1
42
#define SYNC_ARRAY_MUTEX 2
43
/* @} */
44
45
/*******************************************************************/
50
UNIV_INTERN
51
sync_array_t
*
52
sync_array_create
(
53
/*==============*/
54
ulint
n_cells
,
56
ulint
protection
);
59
/******************************************************************/
61
UNIV_INTERN
62
void
63
sync_array_free
(
64
/*============*/
65
sync_array_t
* arr);
66
/******************************************************************/
69
UNIV_INTERN
70
void
71
sync_array_reserve_cell
(
72
/*====================*/
73
sync_array_t
* arr,
74
void
*
object
,
75
ulint type,
76
const
char
* file,
77
ulint line,
78
ulint* index);
79
/******************************************************************/
84
UNIV_INTERN
85
void
86
sync_array_wait_event
(
87
/*==================*/
88
sync_array_t
* arr,
89
ulint index);
90
/******************************************************************/
93
UNIV_INTERN
94
void
95
sync_array_free_cell
(
96
/*=================*/
97
sync_array_t
* arr,
98
ulint index);
99
/**********************************************************************/
101
UNIV_INTERN
102
void
103
sync_array_object_signalled
(
104
/*========================*/
105
sync_array_t
* arr);
106
/**********************************************************************/
110
UNIV_INTERN
111
void
112
sync_arr_wake_threads_if_sema_free
(
void
);
113
/*====================================*/
114
/**********************************************************************/
117
UNIV_INTERN
118
ibool
119
sync_array_print_long_waits
(
void
);
120
/*=============================*/
121
/********************************************************************/
124
UNIV_INTERN
125
void
126
sync_array_validate
(
127
/*================*/
128
sync_array_t
* arr);
129
/**********************************************************************/
131
UNIV_INTERN
132
void
133
sync_array_print_info
(
134
/*==================*/
135
FILE* file,
136
sync_array_t
* arr);
139
#ifndef UNIV_NONINL
140
#include "sync0arr.ic"
141
#endif
142
143
#endif
plugin
innobase
include
sync0arr.h
Generated on Sun Jun 3 2012 18:09:25 for drizzle by
1.8.1