MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sync0arr.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (c) 1995, 2009, 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 /******************************************************************/
42 UNIV_INTERN
43 void
45 /*====================*/
46  sync_array_t* arr,
47  void* object,
48  ulint type,
49  const char* file,
50  ulint line,
51  ulint* index);
52 /******************************************************************/
57 UNIV_INTERN
58 void
60 /*==================*/
61  sync_array_t* arr,
62  ulint index);
63 /******************************************************************/
66 UNIV_INTERN
67 void
69 /*=================*/
70  sync_array_t* arr,
71  ulint index);
72 /**********************************************************************/
74 UNIV_INTERN
75 void
77 /*=============================*/
78 
79 /**********************************************************************/
83 UNIV_INTERN
84 void
86 /*====================================*/
87 /**********************************************************************/
90 UNIV_INTERN
91 ibool
93 /*========================*/
94  os_thread_id_t* waiter,
95  const void** sema)
96  __attribute__((nonnull));
97 /********************************************************************/
100 UNIV_INTERN
101 void
103 /*================*/
104  sync_array_t* arr);
105 /**********************************************************************/
107 UNIV_INTERN
108 void
110 /*=============*/
111  FILE* file);
113 /**********************************************************************/
115 UNIV_INTERN
116 void
118 /*============*/
119  ulint n_threads);
120 /**********************************************************************/
122 UNIV_INTERN
123 void
124 sync_array_close(void);
125 /*==================*/
126 
127 /**********************************************************************/
129 UNIV_INTERN
131 sync_array_get(void);
132 /*================*/
133 
134 #ifndef UNIV_NONINL
135 #include "sync0arr.ic"
136 #endif
137 
138 #endif