diff options
author | Marko Mäkelä <marko.makela@oracle.com> | 2010-06-01 17:03:55 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@oracle.com> | 2010-06-01 17:03:55 +0300 |
commit | 7d5e44460c7cfcc1f29b427e8b1f519162fa66ee (patch) | |
tree | fff7e4e95fa29701ceaa5d24bdd21ef9f2c9e389 /storage/innobase/include/sync0rw.h | |
parent | bf158eed8388f6c1b4c776b9ff6ee16a335cffa8 (diff) | |
download | mariadb-git-7d5e44460c7cfcc1f29b427e8b1f519162fa66ee.tar.gz |
Merge a change from mysql-5.1-innodb:
------------------------------------------------------------
revno: 3491
revision-id: marko.makela@oracle.com-20100601134335-ccthwwru23kn09qw
parent: marko.makela@oracle.com-20100601120751-1uq7bbta5n7ts0qr
committer: Marko Mäkelä <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Tue 2010-06-01 16:43:35 +0300
message:
Bug#48197: Concurrent rw_lock_free may cause assertion failure
rw_lock_t: Remove magic_n unless UNIV_DEBUG is defined.
rw_lock_free(): Invalidate magic_n only after removing from rw_lock_list.
Diffstat (limited to 'storage/innobase/include/sync0rw.h')
-rw-r--r-- | storage/innobase/include/sync0rw.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/storage/innobase/include/sync0rw.h b/storage/innobase/include/sync0rw.h index 6233ceef748..70471186f6d 100644 --- a/storage/innobase/include/sync0rw.h +++ b/storage/innobase/include/sync0rw.h @@ -622,11 +622,12 @@ struct rw_lock_struct { unsigned cline:14; /*!< Line where created */ unsigned last_s_line:14; /*!< Line number where last time s-locked */ unsigned last_x_line:14; /*!< Line number where last time x-locked */ +#ifdef UNIV_DEBUG ulint magic_n; /*!< RW_LOCK_MAGIC_N */ -}; - /** Value of rw_lock_struct::magic_n */ #define RW_LOCK_MAGIC_N 22643 +#endif /* UNIV_DEBUG */ +}; #ifdef UNIV_SYNC_DEBUG /** The structure for storing debug info of an rw-lock */ |