InnoDB Plugin
1.0
Main Page
Data Structures
Files
File List
Globals
include
sync0arr.h
Go to the documentation of this file.
1
/*****************************************************************************
2
3
Copyright (c) 1995, 2013, Oracle and/or its affiliates. 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.,
15
51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
16
17
*****************************************************************************/
18
19
/**************************************************/
26
#ifndef sync0arr_h
27
#define sync0arr_h
28
29
#include "
univ.i
"
30
#include "
ut0lst.h
"
31
#include "
ut0mem.h
"
32
#include "
os0thread.h
"
33
35
struct
sync_cell_t;
37
struct
sync_array_t;
38
39
/******************************************************************/
46
UNIV_INLINE
47
sync_array_t*
48
sync_array_get_and_reserve_cell
(
49
/*============================*/
50
void
*
object
,
51
ulint type,
52
const
char
* file,
53
ulint
line
,
54
ulint* index);
55
/******************************************************************/
59
UNIV_INTERN
60
bool
61
sync_array_reserve_cell
(
62
/*====================*/
63
sync_array_t* arr,
64
void
*
object
,
65
ulint type,
66
const
char
* file,
67
ulint
line
,
68
ulint* index);
69
/******************************************************************/
74
UNIV_INTERN
75
void
76
sync_array_wait_event
(
77
/*==================*/
78
sync_array_t* arr,
79
ulint index);
80
/******************************************************************/
83
UNIV_INTERN
84
void
85
sync_array_free_cell
(
86
/*=================*/
87
sync_array_t* arr,
88
ulint index);
89
/**********************************************************************/
91
UNIV_INTERN
92
void
93
sync_array_object_signalled
(
void
);
94
/*=============================*/
95
96
/**********************************************************************/
100
UNIV_INTERN
101
void
102
sync_arr_wake_threads_if_sema_free
(
void
);
103
/*====================================*/
104
/**********************************************************************/
107
UNIV_INTERN
108
ibool
109
sync_array_print_long_waits
(
110
/*========================*/
111
os_thread_id_t
* waiter,
112
const
void
** sema)
113
__attribute__((nonnull));
114
/********************************************************************/
117
UNIV_INTERN
118
void
119
sync_array_validate
(
120
/*================*/
121
sync_array_t* arr);
122
/**********************************************************************/
124
UNIV_INTERN
125
void
126
sync_array_print
(
127
/*=============*/
128
FILE* file);
130
/**********************************************************************/
132
UNIV_INTERN
133
void
134
sync_array_init
(
135
/*============*/
136
ulint n_threads);
137
/**********************************************************************/
139
UNIV_INTERN
140
void
141
sync_array_close
(
void
);
142
/*==================*/
143
144
/**********************************************************************/
146
UNIV_INTERN
147
sync_array_t*
148
sync_array_get
(
void
);
149
/*================*/
150
151
#ifndef UNIV_NONINL
152
#include "
sync0arr.ic
"
153
#endif
154
155
#endif
Generated on Fri Aug 21 2015 19:14:24 for InnoDB Plugin by
1.8.1.2