Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
a4489d39
Commit
a4489d39
authored
May 14, 2004
by
marko@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1
parents
3f685711
a5cca9df
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
212 additions
and
213 deletions
+212
-213
innobase/btr/btr0cur.c
innobase/btr/btr0cur.c
+3
-3
innobase/btr/btr0sea.c
innobase/btr/btr0sea.c
+2
-2
innobase/buf/buf0buf.c
innobase/buf/buf0buf.c
+4
-4
innobase/ibuf/ibuf0ibuf.c
innobase/ibuf/ibuf0ibuf.c
+1
-1
innobase/include/buf0buf.h
innobase/include/buf0buf.h
+7
-7
innobase/include/buf0buf.ic
innobase/include/buf0buf.ic
+1
-1
innobase/include/mem0mem.h
innobase/include/mem0mem.h
+49
-47
innobase/include/mem0mem.ic
innobase/include/mem0mem.ic
+48
-48
innobase/include/mtr0mtr.h
innobase/include/mtr0mtr.h
+4
-4
innobase/include/mtr0mtr.ic
innobase/include/mtr0mtr.ic
+2
-2
innobase/include/pars0pars.h
innobase/include/pars0pars.h
+1
-1
innobase/include/sync0arr.h
innobase/include/sync0arr.h
+1
-1
innobase/include/sync0ipm.ic
innobase/include/sync0ipm.ic
+2
-2
innobase/include/sync0rw.h
innobase/include/sync0rw.h
+22
-22
innobase/include/sync0rw.ic
innobase/include/sync0rw.ic
+11
-11
innobase/include/sync0sync.h
innobase/include/sync0sync.h
+8
-8
innobase/include/sync0sync.ic
innobase/include/sync0sync.ic
+4
-4
innobase/include/univ.i
innobase/include/univ.i
+0
-5
innobase/include/ut0dbg.h
innobase/include/ut0dbg.h
+3
-3
innobase/lock/lock0lock.c
innobase/lock/lock0lock.c
+1
-1
innobase/log/log0recv.c
innobase/log/log0recv.c
+3
-3
innobase/mem/mem0mem.c
innobase/mem/mem0mem.c
+17
-17
innobase/pars/pars0pars.c
innobase/pars/pars0pars.c
+2
-1
innobase/sync/sync0arr.c
innobase/sync/sync0arr.c
+2
-2
innobase/sync/sync0rw.c
innobase/sync/sync0rw.c
+6
-6
innobase/sync/sync0sync.c
innobase/sync/sync0sync.c
+7
-6
innobase/trx/trx0rec.c
innobase/trx/trx0rec.c
+1
-1
No files found.
innobase/btr/btr0cur.c
View file @
a4489d39
...
@@ -399,7 +399,7 @@ btr_cur_search_to_nth_level(
...
@@ -399,7 +399,7 @@ btr_cur_search_to_nth_level(
retry_page_get:
retry_page_get:
page
=
buf_page_get_gen
(
space
,
page_no
,
rw_latch
,
guess
,
page
=
buf_page_get_gen
(
space
,
page_no
,
rw_latch
,
guess
,
buf_mode
,
buf_mode
,
IB
__FILE__
,
__LINE__
,
__FILE__
,
__LINE__
,
mtr
);
mtr
);
if
(
page
==
NULL
)
{
if
(
page
==
NULL
)
{
/* This must be a search to perform an insert;
/* This must be a search to perform an insert;
...
@@ -580,7 +580,7 @@ btr_cur_open_at_index_side(
...
@@ -580,7 +580,7 @@ btr_cur_open_at_index_side(
for
(;;)
{
for
(;;)
{
page
=
buf_page_get_gen
(
space
,
page_no
,
RW_NO_LATCH
,
NULL
,
page
=
buf_page_get_gen
(
space
,
page_no
,
RW_NO_LATCH
,
NULL
,
BUF_GET
,
BUF_GET
,
IB
__FILE__
,
__LINE__
,
__FILE__
,
__LINE__
,
mtr
);
mtr
);
ut_ad
(
0
==
ut_dulint_cmp
(
tree
->
id
,
ut_ad
(
0
==
ut_dulint_cmp
(
tree
->
id
,
btr_page_get_index_id
(
page
)));
btr_page_get_index_id
(
page
)));
...
@@ -689,7 +689,7 @@ btr_cur_open_at_rnd_pos(
...
@@ -689,7 +689,7 @@ btr_cur_open_at_rnd_pos(
for
(;;)
{
for
(;;)
{
page
=
buf_page_get_gen
(
space
,
page_no
,
RW_NO_LATCH
,
NULL
,
page
=
buf_page_get_gen
(
space
,
page_no
,
RW_NO_LATCH
,
NULL
,
BUF_GET
,
BUF_GET
,
IB
__FILE__
,
__LINE__
,
__FILE__
,
__LINE__
,
mtr
);
mtr
);
ut_ad
(
0
==
ut_dulint_cmp
(
tree
->
id
,
ut_ad
(
0
==
ut_dulint_cmp
(
tree
->
id
,
btr_page_get_index_id
(
page
)));
btr_page_get_index_id
(
page
)));
...
...
innobase/btr/btr0sea.c
View file @
a4489d39
...
@@ -764,7 +764,7 @@ btr_search_guess_on_hash(
...
@@ -764,7 +764,7 @@ btr_search_guess_on_hash(
success
=
buf_page_get_known_nowait
(
latch_mode
,
page
,
success
=
buf_page_get_known_nowait
(
latch_mode
,
page
,
BUF_MAKE_YOUNG
,
BUF_MAKE_YOUNG
,
IB
__FILE__
,
__LINE__
,
__FILE__
,
__LINE__
,
mtr
);
mtr
);
rw_lock_s_unlock
(
&
btr_search_latch
);
rw_lock_s_unlock
(
&
btr_search_latch
);
...
@@ -1048,7 +1048,7 @@ btr_search_drop_page_hash_when_freed(
...
@@ -1048,7 +1048,7 @@ btr_search_drop_page_hash_when_freed(
having to fear a deadlock. */
having to fear a deadlock. */
page
=
buf_page_get_gen
(
space
,
page_no
,
RW_S_LATCH
,
NULL
,
page
=
buf_page_get_gen
(
space
,
page_no
,
RW_S_LATCH
,
NULL
,
BUF_GET_IF_IN_POOL
,
IB
__FILE__
,
__LINE__
,
BUF_GET_IF_IN_POOL
,
__FILE__
,
__LINE__
,
&
mtr
);
&
mtr
);
#ifdef UNIV_SYNC_DEBUG
#ifdef UNIV_SYNC_DEBUG
...
...
innobase/buf/buf0buf.c
View file @
a4489d39
...
@@ -1048,7 +1048,7 @@ buf_page_get_gen(
...
@@ -1048,7 +1048,7 @@ buf_page_get_gen(
buf_frame_t
*
guess
,
/* in: guessed frame or NULL */
buf_frame_t
*
guess
,
/* in: guessed frame or NULL */
ulint
mode
,
/* in: BUF_GET, BUF_GET_IF_IN_POOL,
ulint
mode
,
/* in: BUF_GET, BUF_GET_IF_IN_POOL,
BUF_GET_NO_LATCH, BUF_GET_NOWAIT */
BUF_GET_NO_LATCH, BUF_GET_NOWAIT */
c
har
*
file
,
/* in: file name */
c
onst
char
*
file
,
/* in: file name */
ulint
line
,
/* in: line where called */
ulint
line
,
/* in: line where called */
mtr_t
*
mtr
)
/* in: mini-transaction */
mtr_t
*
mtr
)
/* in: mini-transaction */
{
{
...
@@ -1257,7 +1257,7 @@ buf_page_optimistic_get_func(
...
@@ -1257,7 +1257,7 @@ buf_page_optimistic_get_func(
frames */
frames */
dulint
modify_clock
,
/* in: modify clock value if mode is
dulint
modify_clock
,
/* in: modify clock value if mode is
..._GUESS_ON_CLOCK */
..._GUESS_ON_CLOCK */
c
har
*
file
,
/* in: file name */
c
onst
char
*
file
,
/* in: file name */
ulint
line
,
/* in: line where called */
ulint
line
,
/* in: line where called */
mtr_t
*
mtr
)
/* in: mini-transaction */
mtr_t
*
mtr
)
/* in: mini-transaction */
{
{
...
@@ -1382,7 +1382,7 @@ buf_page_get_known_nowait(
...
@@ -1382,7 +1382,7 @@ buf_page_get_known_nowait(
ulint
rw_latch
,
/* in: RW_S_LATCH, RW_X_LATCH */
ulint
rw_latch
,
/* in: RW_S_LATCH, RW_X_LATCH */
buf_frame_t
*
guess
,
/* in: the known page frame */
buf_frame_t
*
guess
,
/* in: the known page frame */
ulint
mode
,
/* in: BUF_MAKE_YOUNG or BUF_KEEP_OLD */
ulint
mode
,
/* in: BUF_MAKE_YOUNG or BUF_KEEP_OLD */
c
har
*
file
,
/* in: file name */
c
onst
char
*
file
,
/* in: file name */
ulint
line
,
/* in: line where called */
ulint
line
,
/* in: line where called */
mtr_t
*
mtr
)
/* in: mini-transaction */
mtr_t
*
mtr
)
/* in: mini-transaction */
{
{
...
@@ -1742,7 +1742,7 @@ buf_page_create(
...
@@ -1742,7 +1742,7 @@ buf_page_create(
buf_LRU_add_block
(
block
,
FALSE
);
buf_LRU_add_block
(
block
,
FALSE
);
#ifdef UNIV_SYNC_DEBUG
#ifdef UNIV_SYNC_DEBUG
buf_block_buf_fix_inc_debug
(
block
,
IB
__FILE__
,
__LINE__
);
buf_block_buf_fix_inc_debug
(
block
,
__FILE__
,
__LINE__
);
#else
#else
buf_block_buf_fix_inc
(
block
);
buf_block_buf_fix_inc
(
block
);
#endif
#endif
...
...
innobase/ibuf/ibuf0ibuf.c
View file @
a4489d39
...
@@ -3042,7 +3042,7 @@ loop:
...
@@ -3042,7 +3042,7 @@ loop:
if
(
page
)
{
if
(
page
)
{
ibool
success
=
buf_page_get_known_nowait
(
RW_X_LATCH
,
page
,
ibool
success
=
buf_page_get_known_nowait
(
RW_X_LATCH
,
page
,
BUF_KEEP_OLD
,
BUF_KEEP_OLD
,
IB
__FILE__
,
__LINE__
,
__FILE__
,
__LINE__
,
&
mtr
);
&
mtr
);
ut_a
(
success
);
ut_a
(
success
);
#ifdef UNIV_SYNC_DEBUG
#ifdef UNIV_SYNC_DEBUG
...
...
innobase/include/buf0buf.h
View file @
a4489d39
...
@@ -132,7 +132,7 @@ to improve debugging. Only values RW_S_LATCH and RW_X_LATCH are allowed
...
@@ -132,7 +132,7 @@ to improve debugging. Only values RW_S_LATCH and RW_X_LATCH are allowed
in LA! */
in LA! */
#define buf_page_get(SP, OF, LA, MTR) buf_page_get_gen(\
#define buf_page_get(SP, OF, LA, MTR) buf_page_get_gen(\
SP, OF, LA, NULL,\
SP, OF, LA, NULL,\
BUF_GET,
IB
__FILE__, __LINE__, MTR)
BUF_GET, __FILE__, __LINE__, MTR)
/******************************************************************
/******************************************************************
Use these macros to bufferfix a page with no latching. Remember not to
Use these macros to bufferfix a page with no latching. Remember not to
read the contents of the page unless you know it is safe. Do not modify
read the contents of the page unless you know it is safe. Do not modify
...
@@ -141,19 +141,19 @@ error-prone programming not to set a latch, and it should be used
...
@@ -141,19 +141,19 @@ error-prone programming not to set a latch, and it should be used
with care. */
with care. */
#define buf_page_get_with_no_latch(SP, OF, MTR) buf_page_get_gen(\
#define buf_page_get_with_no_latch(SP, OF, MTR) buf_page_get_gen(\
SP, OF, RW_NO_LATCH, NULL,\
SP, OF, RW_NO_LATCH, NULL,\
BUF_GET_NO_LATCH,
IB
__FILE__, __LINE__, MTR)
BUF_GET_NO_LATCH, __FILE__, __LINE__, MTR)
/******************************************************************
/******************************************************************
NOTE! The following macros should be used instead of buf_page_get_gen, to
NOTE! The following macros should be used instead of buf_page_get_gen, to
improve debugging. Only values RW_S_LATCH and RW_X_LATCH are allowed as LA! */
improve debugging. Only values RW_S_LATCH and RW_X_LATCH are allowed as LA! */
#define buf_page_get_nowait(SP, OF, LA, MTR) buf_page_get_gen(\
#define buf_page_get_nowait(SP, OF, LA, MTR) buf_page_get_gen(\
SP, OF, LA, NULL,\
SP, OF, LA, NULL,\
BUF_GET_NOWAIT,
IB
__FILE__, __LINE__, MTR)
BUF_GET_NOWAIT, __FILE__, __LINE__, MTR)
/******************************************************************
/******************************************************************
NOTE! The following macros should be used instead of
NOTE! The following macros should be used instead of
buf_page_optimistic_get_func, to improve debugging. Only values RW_S_LATCH and
buf_page_optimistic_get_func, to improve debugging. Only values RW_S_LATCH and
RW_X_LATCH are allowed as LA! */
RW_X_LATCH are allowed as LA! */
#define buf_page_optimistic_get(LA, BL, G, MC, MTR) buf_page_optimistic_get_func(\
#define buf_page_optimistic_get(LA, BL, G, MC, MTR) buf_page_optimistic_get_func(\
LA, BL, G, MC,
IB
__FILE__, __LINE__, MTR)
LA, BL, G, MC, __FILE__, __LINE__, MTR)
/************************************************************************
/************************************************************************
This is the general function used to get optimistic access to a database
This is the general function used to get optimistic access to a database
page. */
page. */
...
@@ -168,7 +168,7 @@ buf_page_optimistic_get_func(
...
@@ -168,7 +168,7 @@ buf_page_optimistic_get_func(
frames */
frames */
dulint
modify_clock
,
/* in: modify clock value if mode is
dulint
modify_clock
,
/* in: modify clock value if mode is
..._GUESS_ON_CLOCK */
..._GUESS_ON_CLOCK */
c
har
*
file
,
/* in: file name */
c
onst
char
*
file
,
/* in: file name */
ulint
line
,
/* in: line where called */
ulint
line
,
/* in: line where called */
mtr_t
*
mtr
);
/* in: mini-transaction */
mtr_t
*
mtr
);
/* in: mini-transaction */
/************************************************************************
/************************************************************************
...
@@ -201,7 +201,7 @@ buf_page_get_known_nowait(
...
@@ -201,7 +201,7 @@ buf_page_get_known_nowait(
ulint
rw_latch
,
/* in: RW_S_LATCH, RW_X_LATCH */
ulint
rw_latch
,
/* in: RW_S_LATCH, RW_X_LATCH */
buf_frame_t
*
guess
,
/* in: the known page frame */
buf_frame_t
*
guess
,
/* in: the known page frame */
ulint
mode
,
/* in: BUF_MAKE_YOUNG or BUF_KEEP_OLD */
ulint
mode
,
/* in: BUF_MAKE_YOUNG or BUF_KEEP_OLD */
c
har
*
file
,
/* in: file name */
c
onst
char
*
file
,
/* in: file name */
ulint
line
,
/* in: line where called */
ulint
line
,
/* in: line where called */
mtr_t
*
mtr
);
/* in: mini-transaction */
mtr_t
*
mtr
);
/* in: mini-transaction */
/************************************************************************
/************************************************************************
...
@@ -217,7 +217,7 @@ buf_page_get_gen(
...
@@ -217,7 +217,7 @@ buf_page_get_gen(
buf_frame_t
*
guess
,
/* in: guessed frame or NULL */
buf_frame_t
*
guess
,
/* in: guessed frame or NULL */
ulint
mode
,
/* in: BUF_GET, BUF_GET_IF_IN_POOL,
ulint
mode
,
/* in: BUF_GET, BUF_GET_IF_IN_POOL,
BUF_GET_NO_LATCH */
BUF_GET_NO_LATCH */
c
har
*
file
,
/* in: file name */
c
onst
char
*
file
,
/* in: file name */
ulint
line
,
/* in: line where called */
ulint
line
,
/* in: line where called */
mtr_t
*
mtr
);
/* in: mini-transaction */
mtr_t
*
mtr
);
/* in: mini-transaction */
/************************************************************************
/************************************************************************
...
...
innobase/include/buf0buf.ic
View file @
a4489d39
...
@@ -585,7 +585,7 @@ buf_page_get_release_on_io(
...
@@ -585,7 +585,7 @@ buf_page_get_release_on_io(
frame = buf_page_get_gen(space, offset, rw_latch, guess,
frame = buf_page_get_gen(space, offset, rw_latch, guess,
BUF_GET_IF_IN_POOL,
BUF_GET_IF_IN_POOL,
IB
__FILE__, __LINE__,
__FILE__, __LINE__,
mtr);
mtr);
if (frame != NULL) {
if (frame != NULL) {
...
...
innobase/include/mem0mem.h
View file @
a4489d39
...
@@ -64,14 +64,14 @@ heap creation. */
...
@@ -64,14 +64,14 @@ heap creation. */
#define mem_heap_create(N) mem_heap_create_func(\
#define mem_heap_create(N) mem_heap_create_func(\
(N), NULL, MEM_HEAP_DYNAMIC,\
(N), NULL, MEM_HEAP_DYNAMIC,\
IB
__FILE__, __LINE__)
__FILE__, __LINE__)
/******************************************************************
/******************************************************************
Use this macro instead of the corresponding function! Macro for memory
Use this macro instead of the corresponding function! Macro for memory
heap creation. */
heap creation. */
#define mem_heap_create_in_buffer(N) mem_heap_create_func(\
#define mem_heap_create_in_buffer(N) mem_heap_create_func(\
(N), NULL, MEM_HEAP_BUFFER,\
(N), NULL, MEM_HEAP_BUFFER,\
IB
__FILE__, __LINE__)
__FILE__, __LINE__)
/******************************************************************
/******************************************************************
Use this macro instead of the corresponding function! Macro for memory
Use this macro instead of the corresponding function! Macro for memory
heap creation. */
heap creation. */
...
@@ -79,7 +79,7 @@ heap creation. */
...
@@ -79,7 +79,7 @@ heap creation. */
#define mem_heap_create_in_btr_search(N) mem_heap_create_func(\
#define mem_heap_create_in_btr_search(N) mem_heap_create_func(\
(N), NULL, MEM_HEAP_BTR_SEARCH |\
(N), NULL, MEM_HEAP_BTR_SEARCH |\
MEM_HEAP_BUFFER,\
MEM_HEAP_BUFFER,\
IB
__FILE__, __LINE__)
__FILE__, __LINE__)
/******************************************************************
/******************************************************************
Use this macro instead of the corresponding function! Macro for fast
Use this macro instead of the corresponding function! Macro for fast
memory heap creation. An initial block of memory B is given by the
memory heap creation. An initial block of memory B is given by the
...
@@ -88,14 +88,14 @@ mem_heap_free. See the parameter comment in mem_heap_create_func below. */
...
@@ -88,14 +88,14 @@ mem_heap_free. See the parameter comment in mem_heap_create_func below. */
#define mem_heap_fast_create(N, B) mem_heap_create_func(\
#define mem_heap_fast_create(N, B) mem_heap_create_func(\
(N), (B), MEM_HEAP_DYNAMIC,\
(N), (B), MEM_HEAP_DYNAMIC,\
IB
__FILE__, __LINE__)
__FILE__, __LINE__)
/******************************************************************
/******************************************************************
Use this macro instead of the corresponding function! Macro for memory
Use this macro instead of the corresponding function! Macro for memory
heap freeing. */
heap freeing. */
#define mem_heap_free(heap) mem_heap_free_func(\
#define mem_heap_free(heap) mem_heap_free_func(\
(heap),
IB
__FILE__, __LINE__)
(heap), __FILE__, __LINE__)
/*********************************************************************
/*********************************************************************
NOTE: Use the corresponding macros instead of this function. Creates a
NOTE: Use the corresponding macros instead of this function. Creates a
memory heap which allocates memory from dynamic space. For debugging
memory heap which allocates memory from dynamic space. For debugging
...
@@ -105,26 +105,27 @@ UNIV_INLINE
...
@@ -105,26 +105,27 @@ UNIV_INLINE
mem_heap_t
*
mem_heap_t
*
mem_heap_create_func
(
mem_heap_create_func
(
/*=================*/
/*=================*/
/* out, own: memory heap */
/* out, own: memory heap */
ulint
n
,
/* in: desired start block size,
ulint
n
,
/* in: desired start block size,
this means that a single user buffer
this means that a single user buffer
of size n will fit in the block,
of size n will fit in the block,
0 creates a default size block;
0 creates a default size block;
if init_block is not NULL, n tells
if init_block is not NULL, n tells
its size in bytes */
its size in bytes */
void
*
init_block
,
/* in: if very fast creation is
void
*
init_block
,
/* in: if very fast creation is
wanted, the caller can reserve some
wanted, the caller can reserve some
memory from its stack, for example,
memory from its stack, for example,
and pass it as the the initial block
and pass it as the the initial block
to the heap: then no OS call of malloc
to the heap: then no OS call of malloc
is needed at the creation. CAUTION:
is needed at the creation. CAUTION:
the caller must make sure the initial
the caller must make sure the initial
block is not unintentionally erased
block is not unintentionally erased
(if allocated in the stack), before
(if allocated in the stack), before
the memory heap is explicitly freed. */
the memory heap is explicitly freed. */
ulint
type
,
/* in: MEM_HEAP_DYNAMIC or MEM_HEAP_BUFFER */
ulint
type
,
/* in: MEM_HEAP_DYNAMIC
char
*
file_name
,
/* in: file name where created */
or MEM_HEAP_BUFFER */
ulint
line
/* in: line where created */
const
char
*
file_name
,
/* in: file name where created */
ulint
line
/* in: line where created */
);
);
/*********************************************************************
/*********************************************************************
NOTE: Use the corresponding macro instead of this function. Frees the space
NOTE: Use the corresponding macro instead of this function. Frees the space
...
@@ -135,7 +136,7 @@ void
...
@@ -135,7 +136,7 @@ void
mem_heap_free_func
(
mem_heap_free_func
(
/*===============*/
/*===============*/
mem_heap_t
*
heap
,
/* in, own: heap to be freed */
mem_heap_t
*
heap
,
/* in, own: heap to be freed */
c
har
*
file_name
__attribute__
((
unused
)),
c
onst
char
*
file_name
__attribute__
((
unused
)),
/* in: file name where freed */
/* in: file name where freed */
ulint
line
__attribute__
((
unused
)));
ulint
line
__attribute__
((
unused
)));
/* in: line where freed */
/* in: line where freed */
...
@@ -206,13 +207,13 @@ mem_heap_get_size(
...
@@ -206,13 +207,13 @@ mem_heap_get_size(
Use this macro instead of the corresponding function!
Use this macro instead of the corresponding function!
Macro for memory buffer allocation */
Macro for memory buffer allocation */
#define mem_alloc(N) mem_alloc_func((N),
IB
__FILE__, __LINE__)
#define mem_alloc(N) mem_alloc_func((N), __FILE__, __LINE__)
/******************************************************************
/******************************************************************
Use this macro instead of the corresponding function!
Use this macro instead of the corresponding function!
Macro for memory buffer allocation */
Macro for memory buffer allocation */
#define mem_alloc_noninline(N) mem_alloc_func_noninline(\
#define mem_alloc_noninline(N) mem_alloc_func_noninline(\
(N),
IB
__FILE__, __LINE__)
(N), __FILE__, __LINE__)
/*******************************************************************
/*******************************************************************
NOTE: Use the corresponding macro instead of this function.
NOTE: Use the corresponding macro instead of this function.
Allocates a single buffer of memory from the dynamic memory of
Allocates a single buffer of memory from the dynamic memory of
...
@@ -222,11 +223,11 @@ UNIV_INLINE
...
@@ -222,11 +223,11 @@ UNIV_INLINE
void
*
void
*
mem_alloc_func
(
mem_alloc_func
(
/*===========*/
/*===========*/
/* out, own: free storage, NULL
/* out, own: free storage, NULL
if did not succeed */
if did not succeed */
ulint
n
,
/* in: desired number of bytes */
ulint
n
,
/* in: desired number of bytes */
c
har
*
file_name
,
/* in: file name where created */
c
onst
char
*
file_name
,
/* in: file name where created */
ulint
line
/* in: line where created */
ulint
line
/* in: line where created */
);
);
/*******************************************************************
/*******************************************************************
NOTE: Use the corresponding macro instead of this function.
NOTE: Use the corresponding macro instead of this function.
...
@@ -237,17 +238,17 @@ with mem_free. */
...
@@ -237,17 +238,17 @@ with mem_free. */
void
*
void
*
mem_alloc_func_noninline
(
mem_alloc_func_noninline
(
/*=====================*/
/*=====================*/
/* out, own: free storage, NULL if did not
/* out, own: free storage,
succeed */
NULL if did not
succeed */
ulint
n
,
/* in: desired number of bytes */
ulint
n
,
/* in: desired number of bytes */
c
har
*
file_name
,
/* in: file name where created */
c
onst
char
*
file_name
,
/* in: file name where created */
ulint
line
/* in: line where created */
ulint
line
/* in: line where created */
);
);
/******************************************************************
/******************************************************************
Use this macro instead of the corresponding function!
Use this macro instead of the corresponding function!
Macro for memory buffer freeing */
Macro for memory buffer freeing */
#define mem_free(PTR) mem_free_func((PTR),
IB
__FILE__, __LINE__)
#define mem_free(PTR) mem_free_func((PTR), __FILE__, __LINE__)
/*******************************************************************
/*******************************************************************
NOTE: Use the corresponding macro instead of this function.
NOTE: Use the corresponding macro instead of this function.
Frees a single buffer of storage from
Frees a single buffer of storage from
...
@@ -256,9 +257,9 @@ UNIV_INLINE
...
@@ -256,9 +257,9 @@ UNIV_INLINE
void
void
mem_free_func
(
mem_free_func
(
/*==========*/
/*==========*/
void
*
ptr
,
/* in, own: buffer to be freed */
void
*
ptr
,
/* in, own: buffer to be freed */
c
har
*
file_name
,
/* in: file name where created */
c
onst
char
*
file_name
,
/* in: file name where created */
ulint
line
/* in: line where created */
ulint
line
/* in: line where created */
);
);
/*******************************************************************
/*******************************************************************
Implements realloc. */
Implements realloc. */
...
@@ -266,11 +267,12 @@ UNIV_INLINE
...
@@ -266,11 +267,12 @@ UNIV_INLINE
void
*
void
*
mem_realloc
(
mem_realloc
(
/*========*/
/*========*/
/* out, own: free storage, NULL if did not succeed */
/* out, own: free storage,
void
*
buf
,
/* in: pointer to an old buffer */
NULL if did not succeed */
ulint
n
,
/* in: desired number of bytes */
void
*
buf
,
/* in: pointer to an old buffer */
char
*
file_name
,
/* in: file name where called */
ulint
n
,
/* in: desired number of bytes */
ulint
line
);
/* in: line where called */
const
char
*
file_name
,
/* in: file name where called */
ulint
line
);
/* in: line where called */
/**************************************************************************
/**************************************************************************
Duplicates a NUL-terminated string. */
Duplicates a NUL-terminated string. */
...
...
innobase/include/mem0mem.ic
View file @
a4489d39
...
@@ -16,18 +16,18 @@ Creates a memory heap block where data can be allocated. */
...
@@ -16,18 +16,18 @@ Creates a memory heap block where data can be allocated. */
mem_block_t*
mem_block_t*
mem_heap_create_block(
mem_heap_create_block(
/*==================*/
/*==================*/
/* out, own: memory heap block, NULL if did not
/* out, own: memory heap block,
succeed */
NULL if did not
succeed */
mem_heap_t*
heap,/* in: memory heap or NULL if first block should
mem_heap_t*
heap, /* in: memory heap or NULL if first block
be created */
should
be created */
ulint n, /* in: number of bytes needed for user data, or
ulint
n, /* in: number of bytes needed for user data, or
if init_block is not NULL, its size in bytes */
if init_block is not NULL, its size in bytes */
void*
init_block, /* in: init block in fast create, type must be
void*
init_block, /* in: init block in fast create,
MEM_HEAP_DYNAMIC */
type must be
MEM_HEAP_DYNAMIC */
ulint
type, /* in: type of heap: MEM_HEAP_DYNAMIC or
ulint
type, /* in: type of heap: MEM_HEAP_DYNAMIC or
MEM_HEAP_BUFFER */
MEM_HEAP_BUFFER */
c
har*
file_name,/* in: file name where created */
c
onst char*
file_name,/* in: file name where created */
ulint
line);
/* in: line where created */
ulint
line);
/* in: line where created */
/**********************************************************************
/**********************************************************************
Frees a block from a memory heap. */
Frees a block from a memory heap. */
...
@@ -377,27 +377,27 @@ UNIV_INLINE
...
@@ -377,27 +377,27 @@ UNIV_INLINE
mem_heap_t*
mem_heap_t*
mem_heap_create_func(
mem_heap_create_func(
/*=================*/
/*=================*/
/* out, own: memory heap */
/* out, own: memory heap */
ulint n, /* in: desired start block size,
ulint
n, /* in: desired start block size,
this means that a single user buffer
this means that a single user buffer
of size n will fit in the block,
of size n will fit in the block,
0 creates a default size block;
0 creates a default size block;
if init_block is not NULL, n tells
if init_block is not NULL, n tells
its size in bytes */
its size in bytes */
void* init_block, /* in: if very fast creation is
void*
init_block, /* in: if very fast creation is
wanted, the caller can reserve some
wanted, the caller can reserve some
memory from its stack, for example,
memory from its stack, for example,
and pass it as the the initial block
and pass it as the the initial block
to the heap: then no OS call of malloc
to the heap: then no OS call of malloc
is needed at the creation. CAUTION:
is needed at the creation. CAUTION:
the caller must make sure the initial
the caller must make sure the initial
block is not unintentionally erased
block is not unintentionally erased
(if allocated in the stack), before
(if allocated in the stack), before
the memory heap is explicitly freed. */
the memory heap is explicitly freed. */
ulint
type, /* in: MEM_HEAP_DYNAMIC, or MEM_HEAP_BUFFER
ulint
type, /* in: MEM_HEAP_DYNAMIC
possibly ORed to MEM_HEAP_BTR_SEARCH */
or MEM_HEAP_BUFFER */
c
har*
file_name, /* in: file name where created */
c
onst char*
file_name, /* in: file name where created */
ulint line /* in: line where created */
ulint
line /* in: line where created */
)
)
{
{
mem_block_t* block;
mem_block_t* block;
...
@@ -440,10 +440,9 @@ void
...
@@ -440,10 +440,9 @@ void
mem_heap_free_func(
mem_heap_free_func(
/*===============*/
/*===============*/
mem_heap_t* heap, /* in, own: heap to be freed */
mem_heap_t* heap, /* in, own: heap to be freed */
c
har*
file_name __attribute__((unused)),
c
onst char*
file_name __attribute__((unused)),
/* in: file name where freed */
/* in: file name where freed */
ulint line __attribute__((unused)))
ulint line __attribute__((unused)))
/* in: line where freed */
{
{
mem_block_t* block;
mem_block_t* block;
mem_block_t* prev_block;
mem_block_t* prev_block;
...
@@ -486,11 +485,11 @@ UNIV_INLINE
...
@@ -486,11 +485,11 @@ UNIV_INLINE
void*
void*
mem_alloc_func(
mem_alloc_func(
/*===========*/
/*===========*/
/* out, own: free storage, NULL if did not
/* out, own: free storage, NULL
succeed */
if did not
succeed */
ulint
n,
/* in: desired number of bytes */
ulint
n,
/* in: desired number of bytes */
c
har*
file_name, /* in: file name where created */
c
onst char*
file_name, /* in: file name where created */
ulint
line /* in: line where created */
ulint
line /* in: line where created */
)
)
{
{
mem_heap_t* heap;
mem_heap_t* heap;
...
@@ -523,9 +522,9 @@ UNIV_INLINE
...
@@ -523,9 +522,9 @@ UNIV_INLINE
void
void
mem_free_func(
mem_free_func(
/*==========*/
/*==========*/
void*
ptr,
/* in, own: buffer to be freed */
void*
ptr,
/* in, own: buffer to be freed */
c
har* file_name,
/* in: file name where created */
c
onst char* file_name,
/* in: file name where created */
ulint
line
/* in: line where created */
ulint
line
/* in: line where created */
)
)
{
{
mem_heap_t* heap;
mem_heap_t* heap;
...
@@ -569,11 +568,12 @@ UNIV_INLINE
...
@@ -569,11 +568,12 @@ UNIV_INLINE
void*
void*
mem_realloc(
mem_realloc(
/*========*/
/*========*/
/* out, own: free storage, NULL if did not succeed */
/* out, own: free storage,
void* buf, /* in: pointer to an old buffer */
NULL if did not succeed */
ulint n, /* in: desired number of bytes */
void* buf, /* in: pointer to an old buffer */
char* file_name,/* in: file name where called */
ulint n, /* in: desired number of bytes */
ulint line) /* in: line where called */
const char* file_name, /* in: file name where called */
ulint line) /* in: line where called */
{
{
mem_free(buf);
mem_free(buf);
...
...
innobase/include/mtr0mtr.h
View file @
a4489d39
...
@@ -198,11 +198,11 @@ mtr_read_dulint(
...
@@ -198,11 +198,11 @@ mtr_read_dulint(
mtr_t
*
mtr
);
/* in: mini-transaction handle */
mtr_t
*
mtr
);
/* in: mini-transaction handle */
/*************************************************************************
/*************************************************************************
This macro locks an rw-lock in s-mode. */
This macro locks an rw-lock in s-mode. */
#define mtr_s_lock(B, MTR) mtr_s_lock_func((B),
IB
__FILE__, __LINE__,\
#define mtr_s_lock(B, MTR) mtr_s_lock_func((B), __FILE__, __LINE__,\
(MTR))
(MTR))
/*************************************************************************
/*************************************************************************
This macro locks an rw-lock in x-mode. */
This macro locks an rw-lock in x-mode. */
#define mtr_x_lock(B, MTR) mtr_x_lock_func((B),
IB
__FILE__, __LINE__,\
#define mtr_x_lock(B, MTR) mtr_x_lock_func((B), __FILE__, __LINE__,\
(MTR))
(MTR))
/*************************************************************************
/*************************************************************************
NOTE! Use the macro above!
NOTE! Use the macro above!
...
@@ -212,7 +212,7 @@ void
...
@@ -212,7 +212,7 @@ void
mtr_s_lock_func
(
mtr_s_lock_func
(
/*============*/
/*============*/
rw_lock_t
*
lock
,
/* in: rw-lock */
rw_lock_t
*
lock
,
/* in: rw-lock */
c
har
*
file
,
/* in: file name */
c
onst
char
*
file
,
/* in: file name */
ulint
line
,
/* in: line number */
ulint
line
,
/* in: line number */
mtr_t
*
mtr
);
/* in: mtr */
mtr_t
*
mtr
);
/* in: mtr */
/*************************************************************************
/*************************************************************************
...
@@ -223,7 +223,7 @@ void
...
@@ -223,7 +223,7 @@ void
mtr_x_lock_func
(
mtr_x_lock_func
(
/*============*/
/*============*/
rw_lock_t
*
lock
,
/* in: rw-lock */
rw_lock_t
*
lock
,
/* in: rw-lock */
c
har
*
file
,
/* in: file name */
c
onst
char
*
file
,
/* in: file name */
ulint
line
,
/* in: line number */
ulint
line
,
/* in: line number */
mtr_t
*
mtr
);
/* in: mtr */
mtr_t
*
mtr
);
/* in: mtr */
...
...
innobase/include/mtr0mtr.ic
View file @
a4489d39
...
@@ -217,7 +217,7 @@ void
...
@@ -217,7 +217,7 @@ void
mtr_s_lock_func(
mtr_s_lock_func(
/*============*/
/*============*/
rw_lock_t* lock, /* in: rw-lock */
rw_lock_t* lock, /* in: rw-lock */
c
har*
file, /* in: file name */
c
onst char*
file, /* in: file name */
ulint line, /* in: line number */
ulint line, /* in: line number */
mtr_t* mtr) /* in: mtr */
mtr_t* mtr) /* in: mtr */
{
{
...
@@ -236,7 +236,7 @@ void
...
@@ -236,7 +236,7 @@ void
mtr_x_lock_func(
mtr_x_lock_func(
/*============*/
/*============*/
rw_lock_t* lock, /* in: rw-lock */
rw_lock_t* lock, /* in: rw-lock */
c
har*
file, /* in: file name */
c
onst char*
file, /* in: file name */
ulint line, /* in: line number */
ulint line, /* in: line number */
mtr_t* mtr) /* in: mtr */
mtr_t* mtr) /* in: mtr */
{
{
...
...
innobase/include/pars0pars.h
View file @
a4489d39
...
@@ -92,7 +92,7 @@ Called by yyparse on error. */
...
@@ -92,7 +92,7 @@ Called by yyparse on error. */
void
void
yyerror
(
yyerror
(
/*====*/
/*====*/
char
*
s
);
/* in: error message string */
const
char
*
s
);
/* in: error message string */
/*************************************************************************
/*************************************************************************
Parses a variable declaration. */
Parses a variable declaration. */
...
...
innobase/include/sync0arr.h
View file @
a4489d39
...
@@ -51,7 +51,7 @@ sync_array_reserve_cell(
...
@@ -51,7 +51,7 @@ sync_array_reserve_cell(
sync_array_t
*
arr
,
/* in: wait array */
sync_array_t
*
arr
,
/* in: wait array */
void
*
object
,
/* in: pointer to the object to wait for */
void
*
object
,
/* in: pointer to the object to wait for */
ulint
type
,
/* in: lock request type */
ulint
type
,
/* in: lock request type */
char
*
file
,
/* in: file where requested */
const
char
*
file
,
/* in: file where requested */
ulint
line
,
/* in: line where requested */
ulint
line
,
/* in: line where requested */
ulint
*
index
);
/* out: index of the reserved cell */
ulint
*
index
);
/* out: index of the reserved cell */
/**********************************************************************
/**********************************************************************
...
...
innobase/include/sync0ipm.ic
View file @
a4489d39
...
@@ -92,7 +92,7 @@ loop:
...
@@ -92,7 +92,7 @@ loop:
loop_count++;
loop_count++;
ut_ad(loop_count < 15);
ut_ad(loop_count < 15);
if (mutex_enter_nowait(mutex,
IB
__FILE__, __LINE__) == 0) {
if (mutex_enter_nowait(mutex, __FILE__, __LINE__) == 0) {
/* Succeeded! */
/* Succeeded! */
return(0);
return(0);
...
@@ -105,7 +105,7 @@ loop:
...
@@ -105,7 +105,7 @@ loop:
/* Order is important here: FIRST reset event, then set waiters */
/* Order is important here: FIRST reset event, then set waiters */
ip_mutex_set_waiters(ip_mutex, 1);
ip_mutex_set_waiters(ip_mutex, 1);
if (mutex_enter_nowait(mutex,
IB
__FILE__, __LINE__) == 0) {
if (mutex_enter_nowait(mutex, __FILE__, __LINE__) == 0) {
/* Succeeded! */
/* Succeeded! */
return(0);
return(0);
...
...
innobase/include/sync0rw.h
View file @
a4489d39
...
@@ -62,7 +62,7 @@ location (which must be appropriately aligned). The rw-lock is initialized
...
@@ -62,7 +62,7 @@ location (which must be appropriately aligned). The rw-lock is initialized
to the non-locked state. Explicit freeing of the rw-lock with rw_lock_free
to the non-locked state. Explicit freeing of the rw-lock with rw_lock_free
is necessary only if the memory block containing it is freed. */
is necessary only if the memory block containing it is freed. */
#define rw_lock_create(L) rw_lock_create_func((L),
IB
__FILE__, __LINE__)
#define rw_lock_create(L) rw_lock_create_func((L), __FILE__, __LINE__)
/*=====================*/
/*=====================*/
/**********************************************************************
/**********************************************************************
Creates, or rather, initializes an rw-lock object in a specified memory
Creates, or rather, initializes an rw-lock object in a specified memory
...
@@ -74,7 +74,7 @@ void
...
@@ -74,7 +74,7 @@ void
rw_lock_create_func
(
rw_lock_create_func
(
/*================*/
/*================*/
rw_lock_t
*
lock
,
/* in: pointer to memory */
rw_lock_t
*
lock
,
/* in: pointer to memory */
c
har
*
cfile_name
,
/* in: file name where created */
c
onst
char
*
cfile_name
,
/* in: file name where created */
ulint
cline
);
/* in: file line where created */
ulint
cline
);
/* in: file line where created */
/**********************************************************************
/**********************************************************************
Calling this function is obligatory only if the memory buffer containing
Calling this function is obligatory only if the memory buffer containing
...
@@ -100,19 +100,19 @@ NOTE! The following macros should be used in rw s-locking, not the
...
@@ -100,19 +100,19 @@ NOTE! The following macros should be used in rw s-locking, not the
corresponding function. */
corresponding function. */
#define rw_lock_s_lock(M) rw_lock_s_lock_func(\
#define rw_lock_s_lock(M) rw_lock_s_lock_func(\
(M), 0,
IB
__FILE__, __LINE__)
(M), 0, __FILE__, __LINE__)
/******************************************************************
/******************************************************************
NOTE! The following macros should be used in rw s-locking, not the
NOTE! The following macros should be used in rw s-locking, not the
corresponding function. */
corresponding function. */
#define rw_lock_s_lock_gen(M, P) rw_lock_s_lock_func(\
#define rw_lock_s_lock_gen(M, P) rw_lock_s_lock_func(\
(M), (P),
IB
__FILE__, __LINE__)
(M), (P), __FILE__, __LINE__)
/******************************************************************
/******************************************************************
NOTE! The following macros should be used in rw s-locking, not the
NOTE! The following macros should be used in rw s-locking, not the
corresponding function. */
corresponding function. */
#define rw_lock_s_lock_nowait(M) rw_lock_s_lock_func_nowait(\
#define rw_lock_s_lock_nowait(M) rw_lock_s_lock_func_nowait(\
(M),
IB
__FILE__, __LINE__)
(M), __FILE__, __LINE__)
/**********************************************************************
/**********************************************************************
NOTE! Use the corresponding macro, not directly this function, except if
NOTE! Use the corresponding macro, not directly this function, except if
you supply the file name and line number. Lock an rw-lock in shared mode
you supply the file name and line number. Lock an rw-lock in shared mode
...
@@ -127,7 +127,7 @@ rw_lock_s_lock_func(
...
@@ -127,7 +127,7 @@ rw_lock_s_lock_func(
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
ulint
pass
,
/* in: pass value; != 0, if the lock will
ulint
pass
,
/* in: pass value; != 0, if the lock will
be passed to another thread to unlock */
be passed to another thread to unlock */
c
har
*
file_name
,
/* in: file name where lock requested */
c
onst
char
*
file_name
,
/* in: file name where lock requested */
ulint
line
);
/* in: line where requested */
ulint
line
);
/* in: line where requested */
/**********************************************************************
/**********************************************************************
NOTE! Use the corresponding macro, not directly this function, except if
NOTE! Use the corresponding macro, not directly this function, except if
...
@@ -139,7 +139,7 @@ rw_lock_s_lock_func_nowait(
...
@@ -139,7 +139,7 @@ rw_lock_s_lock_func_nowait(
/*=======================*/
/*=======================*/
/* out: TRUE if success */
/* out: TRUE if success */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
c
har
*
file_name
,
/* in: file name where lock requested */
c
onst
char
*
file_name
,
/* in: file name where lock requested */
ulint
line
);
/* in: line where requested */
ulint
line
);
/* in: line where requested */
/**********************************************************************
/**********************************************************************
NOTE! Use the corresponding macro, not directly this function! Lock an
NOTE! Use the corresponding macro, not directly this function! Lock an
...
@@ -151,7 +151,7 @@ rw_lock_x_lock_func_nowait(
...
@@ -151,7 +151,7 @@ rw_lock_x_lock_func_nowait(
/*=======================*/
/*=======================*/
/* out: TRUE if success */
/* out: TRUE if success */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
c
har
*
file_name
,
/* in: file name where lock requested */
c
onst
char
*
file_name
,
/* in: file name where lock requested */
ulint
line
);
/* in: line where requested */
ulint
line
);
/* in: line where requested */
/**********************************************************************
/**********************************************************************
Releases a shared mode lock. */
Releases a shared mode lock. */
...
@@ -186,19 +186,19 @@ NOTE! The following macro should be used in rw x-locking, not the
...
@@ -186,19 +186,19 @@ NOTE! The following macro should be used in rw x-locking, not the
corresponding function. */
corresponding function. */
#define rw_lock_x_lock(M) rw_lock_x_lock_func(\
#define rw_lock_x_lock(M) rw_lock_x_lock_func(\
(M), 0,
IB
__FILE__, __LINE__)
(M), 0, __FILE__, __LINE__)
/******************************************************************
/******************************************************************
NOTE! The following macro should be used in rw x-locking, not the
NOTE! The following macro should be used in rw x-locking, not the
corresponding function. */
corresponding function. */
#define rw_lock_x_lock_gen(M, P) rw_lock_x_lock_func(\
#define rw_lock_x_lock_gen(M, P) rw_lock_x_lock_func(\
(M), (P),
IB
__FILE__, __LINE__)
(M), (P), __FILE__, __LINE__)
/******************************************************************
/******************************************************************
NOTE! The following macros should be used in rw x-locking, not the
NOTE! The following macros should be used in rw x-locking, not the
corresponding function. */
corresponding function. */
#define rw_lock_x_lock_nowait(M) rw_lock_x_lock_func_nowait(\
#define rw_lock_x_lock_nowait(M) rw_lock_x_lock_func_nowait(\
(M),
IB
__FILE__, __LINE__)
(M), __FILE__, __LINE__)
/**********************************************************************
/**********************************************************************
NOTE! Use the corresponding macro, not directly this function! Lock an
NOTE! Use the corresponding macro, not directly this function! Lock an
rw-lock in exclusive mode for the current thread. If the rw-lock is locked
rw-lock in exclusive mode for the current thread. If the rw-lock is locked
...
@@ -215,7 +215,7 @@ rw_lock_x_lock_func(
...
@@ -215,7 +215,7 @@ rw_lock_x_lock_func(
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
ulint
pass
,
/* in: pass value; != 0, if the lock will
ulint
pass
,
/* in: pass value; != 0, if the lock will
be passed to another thread to unlock */
be passed to another thread to unlock */
c
har
*
file_name
,
/* in: file name where lock requested */
c
onst
char
*
file_name
,
/* in: file name where lock requested */
ulint
line
);
/* in: line where requested */
ulint
line
);
/* in: line where requested */
/**********************************************************************
/**********************************************************************
Releases an exclusive mode lock. */
Releases an exclusive mode lock. */
...
@@ -253,9 +253,9 @@ UNIV_INLINE
...
@@ -253,9 +253,9 @@ UNIV_INLINE
void
void
rw_lock_s_lock_direct
(
rw_lock_s_lock_direct
(
/*==================*/
/*==================*/
rw_lock_t
*
lock
/* in: pointer to rw-lock */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
,
char
*
file_name
,
/* in: file name where lock
requested */
const
char
*
file_name
,
/* in: file name where
requested */
ulint
line
/* in: line where
requested */
ulint
line
/* in: line where lock
requested */
);
);
/**********************************************************************
/**********************************************************************
Low-level function which locks an rw-lock in x-mode when we know that it
Low-level function which locks an rw-lock in x-mode when we know that it
...
@@ -265,9 +265,9 @@ UNIV_INLINE
...
@@ -265,9 +265,9 @@ UNIV_INLINE
void
void
rw_lock_x_lock_direct
(
rw_lock_x_lock_direct
(
/*==================*/
/*==================*/
rw_lock_t
*
lock
/* in: pointer to rw-lock */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
,
char
*
file_name
,
/* in: file name where lock
requested */
const
char
*
file_name
,
/* in: file name where
requested */
ulint
line
/* in: line where
requested */
ulint
line
/* in: line where lock
requested */
);
);
/**********************************************************************
/**********************************************************************
This function is used in the insert buffer to move the ownership of an
This function is used in the insert buffer to move the ownership of an
...
@@ -451,10 +451,10 @@ struct rw_lock_struct {
...
@@ -451,10 +451,10 @@ struct rw_lock_struct {
#endif
/* UNIV_SYNC_DEBUG */
#endif
/* UNIV_SYNC_DEBUG */
ulint
level
;
/* Level in the global latching
ulint
level
;
/* Level in the global latching
order; default SYNC_LEVEL_NONE */
order; default SYNC_LEVEL_NONE */
c
har
*
cfile_name
;
/* File name where lock created */
c
onst
char
*
cfile_name
;
/* File name where lock created */
ulint
cline
;
/* Line where created */
ulint
cline
;
/* Line where created */
c
har
*
last_s_file_name
;
/* File name where last time
s-locked */
c
onst
char
*
last_s_file_name
;
/* File name where last
s-locked */
c
har
*
last_x_file_name
;
/* File name where last time
x-locked */
c
onst
char
*
last_x_file_name
;
/* File name where last
x-locked */
ulint
last_s_line
;
/* Line number where last time s-locked */
ulint
last_s_line
;
/* Line number where last time s-locked */
ulint
last_x_line
;
/* Line number where last time x-locked */
ulint
last_x_line
;
/* Line number where last time x-locked */
ulint
magic_n
;
ulint
magic_n
;
...
@@ -471,7 +471,7 @@ struct rw_lock_debug_struct {
...
@@ -471,7 +471,7 @@ struct rw_lock_debug_struct {
ulint
pass
;
/* Pass value given in the lock operation */
ulint
pass
;
/* Pass value given in the lock operation */
ulint
lock_type
;
/* Type of the lock: RW_LOCK_EX,
ulint
lock_type
;
/* Type of the lock: RW_LOCK_EX,
RW_LOCK_SHARED, RW_LOCK_WAIT_EX */
RW_LOCK_SHARED, RW_LOCK_WAIT_EX */
c
har
*
file_name
;
/* File name where the lock was obtained */
c
onst
char
*
file_name
;
/* File name where the lock was obtained */
ulint
line
;
/* Line where the rw-lock was locked */
ulint
line
;
/* Line where the rw-lock was locked */
UT_LIST_NODE_T
(
rw_lock_debug_t
)
list
;
UT_LIST_NODE_T
(
rw_lock_debug_t
)
list
;
/* Debug structs are linked in a two-way
/* Debug structs are linked in a two-way
...
...
innobase/include/sync0rw.ic
View file @
a4489d39
...
@@ -18,7 +18,7 @@ rw_lock_s_lock_spin(
...
@@ -18,7 +18,7 @@ rw_lock_s_lock_spin(
rw_lock_t* lock, /* in: pointer to rw-lock */
rw_lock_t* lock, /* in: pointer to rw-lock */
ulint pass, /* in: pass value; != 0, if the lock will
ulint pass, /* in: pass value; != 0, if the lock will
be passed to another thread to unlock */
be passed to another thread to unlock */
c
har*
file_name,/* in: file name where lock requested */
c
onst char*
file_name,/* in: file name where lock requested */
ulint line); /* in: line where requested */
ulint line); /* in: line where requested */
#ifdef UNIV_SYNC_DEBUG
#ifdef UNIV_SYNC_DEBUG
/**********************************************************************
/**********************************************************************
...
@@ -130,7 +130,7 @@ rw_lock_s_lock_low(
...
@@ -130,7 +130,7 @@ rw_lock_s_lock_low(
ulint pass __attribute__((unused)),
ulint pass __attribute__((unused)),
/* in: pass value; != 0, if the lock will be
/* in: pass value; != 0, if the lock will be
passed to another thread to unlock */
passed to another thread to unlock */
c
har*
file_name, /* in: file name where lock requested */
c
onst char*
file_name, /* in: file name where lock requested */
ulint line) /* in: line where requested */
ulint line) /* in: line where requested */
{
{
#ifdef UNIV_SYNC_DEBUG
#ifdef UNIV_SYNC_DEBUG
...
@@ -163,9 +163,9 @@ UNIV_INLINE
...
@@ -163,9 +163,9 @@ UNIV_INLINE
void
void
rw_lock_s_lock_direct(
rw_lock_s_lock_direct(
/*==================*/
/*==================*/
rw_lock_t* lock,
/* in: pointer to rw-lock */
rw_lock_t* lock,
/* in: pointer to rw-lock */
c
har* file_name,/* in: file name where lock
requested */
c
onst char* file_name, /* in: file name where
requested */
ulint line)
/* in: line where
requested */
ulint line)
/* in: line where lock
requested */
{
{
ut_ad(lock->writer == RW_LOCK_NOT_LOCKED);
ut_ad(lock->writer == RW_LOCK_NOT_LOCKED);
ut_ad(rw_lock_get_reader_count(lock) == 0);
ut_ad(rw_lock_get_reader_count(lock) == 0);
...
@@ -189,9 +189,9 @@ UNIV_INLINE
...
@@ -189,9 +189,9 @@ UNIV_INLINE
void
void
rw_lock_x_lock_direct(
rw_lock_x_lock_direct(
/*==================*/
/*==================*/
rw_lock_t* lock,
/* in: pointer to rw-lock */
rw_lock_t* lock,
/* in: pointer to rw-lock */
c
har* file_name, /* in: file name where lock
requested */
c
onst char* file_name, /* in: file name where
requested */
ulint line)
/* in: line where
requested */
ulint line)
/* in: line where lock
requested */
{
{
ut_ad(rw_lock_validate(lock));
ut_ad(rw_lock_validate(lock));
ut_ad(rw_lock_get_reader_count(lock) == 0);
ut_ad(rw_lock_get_reader_count(lock) == 0);
...
@@ -223,7 +223,7 @@ rw_lock_s_lock_func(
...
@@ -223,7 +223,7 @@ rw_lock_s_lock_func(
rw_lock_t* lock, /* in: pointer to rw-lock */
rw_lock_t* lock, /* in: pointer to rw-lock */
ulint pass, /* in: pass value; != 0, if the lock will
ulint pass, /* in: pass value; != 0, if the lock will
be passed to another thread to unlock */
be passed to another thread to unlock */
c
har* file_name,
/* in: file name where lock requested */
c
onst char* file_name,
/* in: file name where lock requested */
ulint line) /* in: line where requested */
ulint line) /* in: line where requested */
{
{
/* NOTE: As we do not know the thread ids for threads which have
/* NOTE: As we do not know the thread ids for threads which have
...
@@ -267,7 +267,7 @@ rw_lock_s_lock_func_nowait(
...
@@ -267,7 +267,7 @@ rw_lock_s_lock_func_nowait(
/*=======================*/
/*=======================*/
/* out: TRUE if success */
/* out: TRUE if success */
rw_lock_t* lock, /* in: pointer to rw-lock */
rw_lock_t* lock, /* in: pointer to rw-lock */
c
har*
file_name,/* in: file name where lock requested */
c
onst char*
file_name,/* in: file name where lock requested */
ulint line) /* in: line where requested */
ulint line) /* in: line where requested */
{
{
ibool success = FALSE;
ibool success = FALSE;
...
@@ -304,7 +304,7 @@ rw_lock_x_lock_func_nowait(
...
@@ -304,7 +304,7 @@ rw_lock_x_lock_func_nowait(
/*=======================*/
/*=======================*/
/* out: TRUE if success */
/* out: TRUE if success */
rw_lock_t* lock, /* in: pointer to rw-lock */
rw_lock_t* lock, /* in: pointer to rw-lock */
c
har* file_name,
/* in: file name where lock requested */
c
onst char* file_name,
/* in: file name where lock requested */
ulint line) /* in: line where requested */
ulint line) /* in: line where requested */
{
{
ibool success = FALSE;
ibool success = FALSE;
...
...
innobase/include/sync0sync.h
View file @
a4489d39
...
@@ -36,7 +36,7 @@ in the reset state. Explicit freeing of the mutex with mutex_free is
...
@@ -36,7 +36,7 @@ in the reset state. Explicit freeing of the mutex with mutex_free is
necessary only if the memory block containing it is freed. */
necessary only if the memory block containing it is freed. */
#define mutex_create(M) mutex_create_func((M),
IB
__FILE__, __LINE__)
#define mutex_create(M) mutex_create_func((M), __FILE__, __LINE__)
/*===================*/
/*===================*/
/**********************************************************************
/**********************************************************************
Creates, or rather, initializes a mutex object in a specified memory
Creates, or rather, initializes a mutex object in a specified memory
...
@@ -48,7 +48,7 @@ void
...
@@ -48,7 +48,7 @@ void
mutex_create_func
(
mutex_create_func
(
/*==============*/
/*==============*/
mutex_t
*
mutex
,
/* in: pointer to memory */
mutex_t
*
mutex
,
/* in: pointer to memory */
c
har
*
cfile_name
,
/* in: file name where created */
c
onst
char
*
cfile_name
,
/* in: file name where created */
ulint
cline
);
/* in: file line where created */
ulint
cline
);
/* in: file line where created */
/**********************************************************************
/**********************************************************************
Calling this function is obligatory only if the memory buffer containing
Calling this function is obligatory only if the memory buffer containing
...
@@ -64,7 +64,7 @@ mutex_free(
...
@@ -64,7 +64,7 @@ mutex_free(
NOTE! The following macro should be used in mutex locking, not the
NOTE! The following macro should be used in mutex locking, not the
corresponding function. */
corresponding function. */
#define mutex_enter(M) mutex_enter_func((M),
IB
__FILE__, __LINE__)
#define mutex_enter(M) mutex_enter_func((M), __FILE__, __LINE__)
/**********************************************************************
/**********************************************************************
A noninlined function that reserves a mutex. In ha_innodb.cc we have disabled
A noninlined function that reserves a mutex. In ha_innodb.cc we have disabled
inlining of InnoDB functions, and no inlined functions should be called from
inlining of InnoDB functions, and no inlined functions should be called from
...
@@ -80,7 +80,7 @@ corresponding function. */
...
@@ -80,7 +80,7 @@ corresponding function. */
/* NOTE! currently same as mutex_enter! */
/* NOTE! currently same as mutex_enter! */
#define mutex_enter_fast(M) mutex_enter_func((M),
IB
__FILE__, __LINE__)
#define mutex_enter_fast(M) mutex_enter_func((M), __FILE__, __LINE__)
#define mutex_enter_fast_func mutex_enter_func;
#define mutex_enter_fast_func mutex_enter_func;
/**********************************************************************
/**********************************************************************
NOTE! Use the corresponding macro in the header file, not this function
NOTE! Use the corresponding macro in the header file, not this function
...
@@ -92,7 +92,7 @@ void
...
@@ -92,7 +92,7 @@ void
mutex_enter_func
(
mutex_enter_func
(
/*=============*/
/*=============*/
mutex_t
*
mutex
,
/* in: pointer to mutex */
mutex_t
*
mutex
,
/* in: pointer to mutex */
c
har
*
file_name
,
/* in: file name where locked */
c
onst
char
*
file_name
,
/* in: file name where locked */
ulint
line
);
/* in: line where locked */
ulint
line
);
/* in: line where locked */
/************************************************************************
/************************************************************************
Tries to lock the mutex for the current thread. If the lock is not acquired
Tries to lock the mutex for the current thread. If the lock is not acquired
...
@@ -103,9 +103,9 @@ mutex_enter_nowait(
...
@@ -103,9 +103,9 @@ mutex_enter_nowait(
/*===============*/
/*===============*/
/* out: 0 if succeed, 1 if not */
/* out: 0 if succeed, 1 if not */
mutex_t
*
mutex
,
/* in: pointer to mutex */
mutex_t
*
mutex
,
/* in: pointer to mutex */
c
har
*
file_name
,
/* in: file name where mutex
c
onst
char
*
file_name
,
/* in: file name where mutex
requested */
requested */
ulint
line
);
/* in: line where requested */
ulint
line
);
/* in: line where requested */
/**********************************************************************
/**********************************************************************
Unlocks a mutex owned by the current thread. */
Unlocks a mutex owned by the current thread. */
UNIV_INLINE
UNIV_INLINE
...
@@ -470,7 +470,7 @@ struct mutex_struct {
...
@@ -470,7 +470,7 @@ struct mutex_struct {
#endif
/* UNIV_SYNC_DEBUG */
#endif
/* UNIV_SYNC_DEBUG */
ulint
level
;
/* Level in the global latching
ulint
level
;
/* Level in the global latching
order; default SYNC_LEVEL_NONE */
order; default SYNC_LEVEL_NONE */
c
har
*
cfile_name
;
/* File name where mutex created */
c
onst
char
*
cfile_name
;
/* File name where mutex created */
ulint
cline
;
/* Line where created */
ulint
cline
;
/* Line where created */
ulint
magic_n
;
ulint
magic_n
;
};
};
...
...
innobase/include/sync0sync.ic
View file @
a4489d39
...
@@ -23,7 +23,7 @@ void
...
@@ -23,7 +23,7 @@ void
mutex_spin_wait(
mutex_spin_wait(
/*============*/
/*============*/
mutex_t* mutex, /* in: pointer to mutex */
mutex_t* mutex, /* in: pointer to mutex */
c
har*
file_name,/* in: file name where mutex requested */
c
onst char*
file_name,/* in: file name where mutex requested */
ulint line); /* in: line where requested */
ulint line); /* in: line where requested */
#ifdef UNIV_SYNC_DEBUG
#ifdef UNIV_SYNC_DEBUG
/**********************************************************************
/**********************************************************************
...
@@ -241,9 +241,9 @@ UNIV_INLINE
...
@@ -241,9 +241,9 @@ UNIV_INLINE
void
void
mutex_enter_func(
mutex_enter_func(
/*=============*/
/*=============*/
mutex_t* mutex, /* in: pointer to mutex */
mutex_t* mutex,
/* in: pointer to mutex */
c
har* file_name,
/* in: file name where locked */
c
onst char* file_name,
/* in: file name where locked */
ulint line) /* in: line where locked */
ulint line)
/* in: line where locked */
{
{
ut_ad(mutex_validate(mutex));
ut_ad(mutex_validate(mutex));
...
...
innobase/include/univ.i
View file @
a4489d39
...
@@ -242,11 +242,6 @@ contains the sum of the following flag and the locally stored len. */
...
@@ -242,11 +242,6 @@ contains the sum of the following flag and the locally stored len. */
#
define
UNIV_EXTERN_STORAGE_FIELD
(
UNIV_SQL_NULL
-
UNIV_PAGE_SIZE
)
#
define
UNIV_EXTERN_STORAGE_FIELD
(
UNIV_SQL_NULL
-
UNIV_PAGE_SIZE
)
/* The following definition of __FILE__ removes compiler warnings
associated with const char* / char* mismatches with __FILE__ */
#
define
IB__FILE__
((
char
*
)
__FILE__
)
#
include
<
stdio
.
h
>
#
include
<
stdio
.
h
>
#
include
"ut0dbg.h"
#
include
"ut0dbg.h"
#
include
"ut0ut.h"
#
include
"ut0ut.h"
...
...
innobase/include/ut0dbg.h
View file @
a4489d39
...
@@ -27,7 +27,7 @@ extern const char* ut_dbg_msg_stop;
...
@@ -27,7 +27,7 @@ extern const char* ut_dbg_msg_stop;
if (!((ulint)(EXPR) + ut_dbg_zero)) {\
if (!((ulint)(EXPR) + ut_dbg_zero)) {\
ut_print_timestamp(stderr);\
ut_print_timestamp(stderr);\
fprintf(stderr, ut_dbg_msg_assert_fail,\
fprintf(stderr, ut_dbg_msg_assert_fail,\
os_thread_pf(os_thread_get_curr_id()),
IB
__FILE__,\
os_thread_pf(os_thread_get_curr_id()), __FILE__,\
(ulint)__LINE__);\
(ulint)__LINE__);\
fputs("InnoDB: Failing assertion: " #EXPR "\n", stderr);\
fputs("InnoDB: Failing assertion: " #EXPR "\n", stderr);\
fputs(ut_dbg_msg_trap, stderr);\
fputs(ut_dbg_msg_trap, stderr);\
...
@@ -36,7 +36,7 @@ extern const char* ut_dbg_msg_stop;
...
@@ -36,7 +36,7 @@ extern const char* ut_dbg_msg_stop;
}\
}\
if (ut_dbg_stop_threads) {\
if (ut_dbg_stop_threads) {\
fprintf(stderr, ut_dbg_msg_stop,\
fprintf(stderr, ut_dbg_msg_stop,\
os_thread_pf(os_thread_get_curr_id()),
IB
__FILE__, (ulint)__LINE__);\
os_thread_pf(os_thread_get_curr_id()), __FILE__, (ulint)__LINE__);\
os_thread_sleep(1000000000);\
os_thread_sleep(1000000000);\
}\
}\
} while (0)
} while (0)
...
@@ -44,7 +44,7 @@ extern const char* ut_dbg_msg_stop;
...
@@ -44,7 +44,7 @@ extern const char* ut_dbg_msg_stop;
#define ut_error do {\
#define ut_error do {\
ut_print_timestamp(stderr);\
ut_print_timestamp(stderr);\
fprintf(stderr, ut_dbg_msg_assert_fail,\
fprintf(stderr, ut_dbg_msg_assert_fail,\
os_thread_pf(os_thread_get_curr_id()),
IB
__FILE__, (ulint)__LINE__);\
os_thread_pf(os_thread_get_curr_id()), __FILE__, (ulint)__LINE__);\
fprintf(stderr, ut_dbg_msg_trap);\
fprintf(stderr, ut_dbg_msg_trap);\
ut_dbg_stop_threads = TRUE;\
ut_dbg_stop_threads = TRUE;\
if (*(ut_dbg_null_ptr)) ut_dbg_null_ptr = NULL;\
if (*(ut_dbg_null_ptr)) ut_dbg_null_ptr = NULL;\
...
...
innobase/lock/lock0lock.c
View file @
a4489d39
...
@@ -3889,7 +3889,7 @@ lock_rec_print(
...
@@ -3889,7 +3889,7 @@ lock_rec_print(
page
=
buf_page_get_gen
(
space
,
page_no
,
RW_NO_LATCH
,
page
=
buf_page_get_gen
(
space
,
page_no
,
RW_NO_LATCH
,
NULL
,
BUF_GET_IF_IN_POOL
,
NULL
,
BUF_GET_IF_IN_POOL
,
IB
__FILE__
,
__LINE__
,
&
mtr
);
__FILE__
,
__LINE__
,
&
mtr
);
if
(
page
)
{
if
(
page
)
{
page
=
buf_page_get_nowait
(
space
,
page_no
,
RW_S_LATCH
,
&
mtr
);
page
=
buf_page_get_nowait
(
space
,
page_no
,
RW_S_LATCH
,
&
mtr
);
...
...
innobase/log/log0recv.c
View file @
a4489d39
...
@@ -1080,7 +1080,7 @@ recv_recover_page(
...
@@ -1080,7 +1080,7 @@ recv_recover_page(
success
=
buf_page_get_known_nowait
(
RW_X_LATCH
,
page
,
success
=
buf_page_get_known_nowait
(
RW_X_LATCH
,
page
,
BUF_KEEP_OLD
,
BUF_KEEP_OLD
,
IB
__FILE__
,
__LINE__
,
__FILE__
,
__LINE__
,
&
mtr
);
&
mtr
);
ut_a
(
success
);
ut_a
(
success
);
...
@@ -1664,7 +1664,7 @@ recv_compare_spaces(
...
@@ -1664,7 +1664,7 @@ recv_compare_spaces(
frame
=
buf_page_get_gen
(
space1
,
page_no
,
RW_S_LATCH
,
NULL
,
frame
=
buf_page_get_gen
(
space1
,
page_no
,
RW_S_LATCH
,
NULL
,
BUF_GET_IF_IN_POOL
,
BUF_GET_IF_IN_POOL
,
IB
__FILE__
,
__LINE__
,
__FILE__
,
__LINE__
,
&
mtr
);
&
mtr
);
if
(
frame
)
{
if
(
frame
)
{
#ifdef UNIV_SYNC_DEBUG
#ifdef UNIV_SYNC_DEBUG
...
@@ -1679,7 +1679,7 @@ recv_compare_spaces(
...
@@ -1679,7 +1679,7 @@ recv_compare_spaces(
frame
=
buf_page_get_gen
(
space2
,
page_no
,
RW_S_LATCH
,
NULL
,
frame
=
buf_page_get_gen
(
space2
,
page_no
,
RW_S_LATCH
,
NULL
,
BUF_GET_IF_IN_POOL
,
BUF_GET_IF_IN_POOL
,
IB
__FILE__
,
__LINE__
,
__FILE__
,
__LINE__
,
&
mtr
);
&
mtr
);
if
(
frame
)
{
if
(
frame
)
{
#ifdef UNIV_SYNC_DEBUG
#ifdef UNIV_SYNC_DEBUG
...
...
innobase/mem/mem0mem.c
View file @
a4489d39
...
@@ -92,11 +92,11 @@ with mem_free. */
...
@@ -92,11 +92,11 @@ with mem_free. */
void
*
void
*
mem_alloc_func_noninline
(
mem_alloc_func_noninline
(
/*=====================*/
/*=====================*/
/* out, own: free storage, NULL if did not
/* out, own: free storage,
succeed */
NULL if did not
succeed */
ulint
n
,
/* in: desired number of bytes */
ulint
n
,
/* in: desired number of bytes */
c
har
*
file_name
,
/* in: file name where created */
c
onst
char
*
file_name
,
/* in: file name where created */
ulint
line
/* in: line where created */
ulint
line
/* in: line where created */
)
)
{
{
return
(
mem_alloc_func
(
n
,
file_name
,
line
));
return
(
mem_alloc_func
(
n
,
file_name
,
line
));
...
@@ -108,18 +108,18 @@ Creates a memory heap block where data can be allocated. */
...
@@ -108,18 +108,18 @@ Creates a memory heap block where data can be allocated. */
mem_block_t
*
mem_block_t
*
mem_heap_create_block
(
mem_heap_create_block
(
/*==================*/
/*==================*/
/* out, own: memory heap block, NULL if did not
/* out, own: memory heap block,
succeed */
NULL if did not
succeed */
mem_heap_t
*
heap
,
/* in: memory heap or NULL if first block should
mem_heap_t
*
heap
,
/* in: memory heap or NULL if first block
be created */
should
be created */
ulint
n
,
/* in: number of bytes needed for user data, or
ulint
n
,
/* in: number of bytes needed for user data, or
if init_block is not NULL, its size in bytes */
if init_block is not NULL, its size in bytes */
void
*
init_block
,
/* in: init block in fast create, type must be
void
*
init_block
,
/* in: init block in fast create,
MEM_HEAP_DYNAMIC */
type must be
MEM_HEAP_DYNAMIC */
ulint
type
,
/* in: type of heap: MEM_HEAP_DYNAMIC,
or
ulint
type
,
/* in: type of heap: MEM_HEAP_DYNAMIC
or
MEM_HEAP_BUFFER possibly ORed to MEM_HEAP_BTR_SEARCH
*/
MEM_HEAP_BUFFER
*/
c
har
*
file_name
,
/* in: file name where created */
c
onst
char
*
file_name
,
/* in: file name where created */
ulint
line
)
/* in: line where created */
ulint
line
)
/* in: line where created */
{
{
mem_block_t
*
block
;
mem_block_t
*
block
;
ulint
len
;
ulint
len
;
...
...
innobase/pars/pars0pars.c
View file @
a4489d39
...
@@ -1713,7 +1713,8 @@ Called by yyparse on error. */
...
@@ -1713,7 +1713,8 @@ Called by yyparse on error. */
void
void
yyerror
(
yyerror
(
/*====*/
/*====*/
char
*
s
__attribute__
((
unused
)))
/* in: error message string */
const
char
*
s
__attribute__
((
unused
)))
/* in: error message string */
{
{
ut_ad
(
s
);
ut_ad
(
s
);
...
...
innobase/sync/sync0arr.c
View file @
a4489d39
...
@@ -53,7 +53,7 @@ struct sync_cell_struct {
...
@@ -53,7 +53,7 @@ struct sync_cell_struct {
rw_lock_t
*
old_wait_rw_lock
;
/* the latest wait rw-lock in cell */
rw_lock_t
*
old_wait_rw_lock
;
/* the latest wait rw-lock in cell */
ulint
request_type
;
/* lock type requested on the
ulint
request_type
;
/* lock type requested on the
object */
object */
c
har
*
file
;
/* in debug version file where
c
onst
char
*
file
;
/* in debug version file where
requested */
requested */
ulint
line
;
/* in debug version line where
ulint
line
;
/* in debug version line where
requested */
requested */
...
@@ -329,7 +329,7 @@ sync_array_reserve_cell(
...
@@ -329,7 +329,7 @@ sync_array_reserve_cell(
sync_array_t
*
arr
,
/* in: wait array */
sync_array_t
*
arr
,
/* in: wait array */
void
*
object
,
/* in: pointer to the object to wait for */
void
*
object
,
/* in: pointer to the object to wait for */
ulint
type
,
/* in: lock request type */
ulint
type
,
/* in: lock request type */
char
*
file
,
/* in: file where requested */
const
char
*
file
,
/* in: file where requested */
ulint
line
,
/* in: line where requested */
ulint
line
,
/* in: line where requested */
ulint
*
index
)
/* out: index of the reserved cell */
ulint
*
index
)
/* out: index of the reserved cell */
{
{
...
...
innobase/sync/sync0rw.c
View file @
a4489d39
...
@@ -89,7 +89,7 @@ void
...
@@ -89,7 +89,7 @@ void
rw_lock_create_func
(
rw_lock_create_func
(
/*================*/
/*================*/
rw_lock_t
*
lock
,
/* in: pointer to memory */
rw_lock_t
*
lock
,
/* in: pointer to memory */
c
har
*
cfile_name
,
/* in: file name where created */
c
onst
char
*
cfile_name
,
/* in: file name where created */
ulint
cline
)
/* in: file line where created */
ulint
cline
)
/* in: file line where created */
{
{
/* If this is the very first time a synchronization
/* If this is the very first time a synchronization
...
@@ -213,7 +213,7 @@ rw_lock_s_lock_spin(
...
@@ -213,7 +213,7 @@ rw_lock_s_lock_spin(
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
ulint
pass
,
/* in: pass value; != 0, if the lock
ulint
pass
,
/* in: pass value; != 0, if the lock
will be passed to another thread to unlock */
will be passed to another thread to unlock */
c
har
*
file_name
,
/* in: file name where lock requested */
c
onst
char
*
file_name
,
/* in: file name where lock requested */
ulint
line
)
/* in: line where requested */
ulint
line
)
/* in: line where requested */
{
{
ulint
index
;
/* index of the reserved wait cell */
ulint
index
;
/* index of the reserved wait cell */
...
@@ -324,7 +324,7 @@ rw_lock_x_lock_low(
...
@@ -324,7 +324,7 @@ rw_lock_x_lock_low(
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
ulint
pass
,
/* in: pass value; != 0, if the lock will
ulint
pass
,
/* in: pass value; != 0, if the lock will
be passed to another thread to unlock */
be passed to another thread to unlock */
c
har
*
file_name
,
/* in: file name where lock requested */
c
onst
char
*
file_name
,
/* in: file name where lock requested */
ulint
line
)
/* in: line where requested */
ulint
line
)
/* in: line where requested */
{
{
#ifdef UNIV_SYNC_DEBUG
#ifdef UNIV_SYNC_DEBUG
...
@@ -429,7 +429,7 @@ rw_lock_x_lock_func(
...
@@ -429,7 +429,7 @@ rw_lock_x_lock_func(
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
rw_lock_t
*
lock
,
/* in: pointer to rw-lock */
ulint
pass
,
/* in: pass value; != 0, if the lock will
ulint
pass
,
/* in: pass value; != 0, if the lock will
be passed to another thread to unlock */
be passed to another thread to unlock */
c
har
*
file_name
,
/* in: file name where lock requested */
c
onst
char
*
file_name
,
/* in: file name where lock requested */
ulint
line
)
/* in: line where requested */
ulint
line
)
/* in: line where requested */
{
{
ulint
index
;
/* index of the reserved wait cell */
ulint
index
;
/* index of the reserved wait cell */
...
@@ -551,7 +551,7 @@ rw_lock_debug_mutex_enter(void)
...
@@ -551,7 +551,7 @@ rw_lock_debug_mutex_enter(void)
{
{
loop:
loop:
if
(
0
==
mutex_enter_nowait
(
&
rw_lock_debug_mutex
,
if
(
0
==
mutex_enter_nowait
(
&
rw_lock_debug_mutex
,
IB
__FILE__
,
__LINE__
))
{
__FILE__
,
__LINE__
))
{
return
;
return
;
}
}
...
@@ -560,7 +560,7 @@ loop:
...
@@ -560,7 +560,7 @@ loop:
rw_lock_debug_waiters
=
TRUE
;
rw_lock_debug_waiters
=
TRUE
;
if
(
0
==
mutex_enter_nowait
(
&
rw_lock_debug_mutex
,
if
(
0
==
mutex_enter_nowait
(
&
rw_lock_debug_mutex
,
IB
__FILE__
,
__LINE__
))
{
__FILE__
,
__LINE__
))
{
return
;
return
;
}
}
...
...
innobase/sync/sync0sync.c
View file @
a4489d39
...
@@ -201,7 +201,7 @@ void
...
@@ -201,7 +201,7 @@ void
mutex_create_func
(
mutex_create_func
(
/*==============*/
/*==============*/
mutex_t
*
mutex
,
/* in: pointer to memory */
mutex_t
*
mutex
,
/* in: pointer to memory */
c
har
*
cfile_name
,
/* in: file name where created */
c
onst
char
*
cfile_name
,
/* in: file name where created */
ulint
cline
)
/* in: file line where created */
ulint
cline
)
/* in: file line where created */
{
{
#if defined(_WIN32) && defined(UNIV_CAN_USE_X86_ASSEMBLER)
#if defined(_WIN32) && defined(UNIV_CAN_USE_X86_ASSEMBLER)
...
@@ -294,10 +294,10 @@ mutex_enter_nowait(
...
@@ -294,10 +294,10 @@ mutex_enter_nowait(
/*===============*/
/*===============*/
/* out: 0 if succeed, 1 if not */
/* out: 0 if succeed, 1 if not */
mutex_t
*
mutex
,
/* in: pointer to mutex */
mutex_t
*
mutex
,
/* in: pointer to mutex */
c
har
*
file_name
__attribute__
((
unused
)),
c
onst
char
*
file_name
__attribute__
((
unused
)),
/* in: file name where mutex
/* in: file name where mutex
requested */
requested */
ulint
line
__attribute__
((
unused
)))
ulint
line
__attribute__
((
unused
)))
/* in: line where requested */
/* in: line where requested */
{
{
ut_ad
(
mutex_validate
(
mutex
));
ut_ad
(
mutex_validate
(
mutex
));
...
@@ -357,9 +357,10 @@ for the mutex before suspending the thread. */
...
@@ -357,9 +357,10 @@ for the mutex before suspending the thread. */
void
void
mutex_spin_wait
(
mutex_spin_wait
(
/*============*/
/*============*/
mutex_t
*
mutex
,
/* in: pointer to mutex */
mutex_t
*
mutex
,
/* in: pointer to mutex */
char
*
file_name
,
/* in: file name where mutex requested */
const
char
*
file_name
,
/* in: file name where
ulint
line
)
/* in: line where requested */
mutex requested */
ulint
line
)
/* in: line where requested */
{
{
ulint
index
;
/* index of the reserved wait cell */
ulint
index
;
/* index of the reserved wait cell */
ulint
i
;
/* spin round count */
ulint
i
;
/* spin round count */
...
...
innobase/trx/trx0rec.c
View file @
a4489d39
...
@@ -1067,7 +1067,7 @@ trx_undo_report_row_operation(
...
@@ -1067,7 +1067,7 @@ trx_undo_report_row_operation(
undo_page
=
buf_page_get_gen
(
undo
->
space
,
page_no
,
undo_page
=
buf_page_get_gen
(
undo
->
space
,
page_no
,
RW_X_LATCH
,
undo
->
guess_page
,
RW_X_LATCH
,
undo
->
guess_page
,
BUF_GET
,
BUF_GET
,
IB
__FILE__
,
__LINE__
,
__FILE__
,
__LINE__
,
&
mtr
);
&
mtr
);
#ifdef UNIV_SYNC_DEBUG
#ifdef UNIV_SYNC_DEBUG
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment