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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
f67308f6
Commit
f67308f6
authored
Jul 02, 2003
by
heikki@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ha_innodb.cc:
Remove still some potential hangs over the btr0sea.c semaphore
parent
5dedab55
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
13 deletions
+25
-13
sql/ha_innodb.cc
sql/ha_innodb.cc
+25
-13
No files found.
sql/ha_innodb.cc
View file @
f67308f6
...
...
@@ -663,6 +663,8 @@ ha_innobase::init_table_handle_for_HANDLER(void)
prebuilt
=
(
row_prebuilt_t
*
)
innobase_prebuilt
;
innobase_release_stat_resources
(
prebuilt
->
trx
);
/* If the transaction is not started yet, start it */
trx_start_if_not_started_noninline
(
prebuilt
->
trx
);
...
...
@@ -1206,6 +1208,12 @@ innobase_savepoint(
trx
=
check_trx_exists
(
thd
);
/* Release a possible FIFO ticket and search latch. Since we will
reserve the kernel mutex, we have to release the search system latch
first to obey the latching order. */
innobase_release_stat_resources
(
trx
);
/* Setting a savepoint starts a transaction inside InnoDB since
it allocates resources for it (memory to store the savepoint name,
for example) */
...
...
@@ -1219,8 +1227,7 @@ innobase_savepoint(
}
/*********************************************************************
Frees a possible InnoDB trx object associated with the current
THD. */
Frees a possible InnoDB trx object associated with the current THD. */
int
innobase_close_connection
(
...
...
@@ -1229,12 +1236,15 @@ innobase_close_connection(
THD
*
thd
)
/* in: handle to the MySQL thread of the user
whose transaction should be rolled back */
{
if
(
NULL
!=
thd
->
transaction
.
all
.
innobase_tid
)
{
trx_t
*
trx
;
trx
=
(
trx_t
*
)
thd
->
transaction
.
all
.
innobase_tid
;
if
(
NULL
!=
trx
)
{
innobase_rollback
(
thd
,
(
void
*
)
trx
);
trx_free_for_mysql
(
trx
);
trx_rollback_for_mysql
((
trx_t
*
)
(
thd
->
transaction
.
all
.
innobase_tid
));
trx_free_for_mysql
((
trx_t
*
)
(
thd
->
transaction
.
all
.
innobase_tid
));
thd
->
transaction
.
all
.
innobase_tid
=
NULL
;
}
...
...
@@ -1497,6 +1507,8 @@ ha_innobase::close(void)
/*====================*/
/* out: error number */
{
trx_t
*
trx
;
DBUG_ENTER
(
"ha_innobase::close"
);
row_prebuilt_free
((
row_prebuilt_t
*
)
innobase_prebuilt
);
...
...
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