InnoDB Plugin  1.0
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*
49 /*============================*/
50  void* object,
51  ulint type,
52  const char* file,
53  ulint line,
54  ulint* index);
55 /******************************************************************/
59 UNIV_INTERN
60 bool
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
77 /*==================*/
78  sync_array_t* arr,
79  ulint index);
80 /******************************************************************/
83 UNIV_INTERN
84 void
86 /*=================*/
87  sync_array_t* arr,
88  ulint index);
89 /**********************************************************************/
91 UNIV_INTERN
92 void
94 /*=============================*/
95 
96 /**********************************************************************/
100 UNIV_INTERN
101 void
103 /*====================================*/
104 /**********************************************************************/
107 UNIV_INTERN
108 ibool
110 /*========================*/
111  os_thread_id_t* waiter,
112  const void** sema)
113  __attribute__((nonnull));
114 /********************************************************************/
117 UNIV_INTERN
118 void
120 /*================*/
121  sync_array_t* arr);
122 /**********************************************************************/
124 UNIV_INTERN
125 void
127 /*=============*/
128  FILE* file);
130 /**********************************************************************/
132 UNIV_INTERN
133 void
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