diff options
author | Dmitry Lenev <dlenev@mysql.com> | 2010-02-28 07:35:09 +0300 |
---|---|---|
committer | Dmitry Lenev <dlenev@mysql.com> | 2010-02-28 07:35:09 +0300 |
commit | dcaa14485222fa6d69ebccc794e73c5586657e39 (patch) | |
tree | 72819bde0c313c8ef3b67a20ff9ac4fe00833093 /config.h.cmake | |
parent | e5f595601422ead2ddff450dc77e7062a7959911 (diff) | |
download | mariadb-git-dcaa14485222fa6d69ebccc794e73c5586657e39.tar.gz |
Fix for bug #51105 "MDL deadlock in rqg_mdl_stability test
on Windows".
On platforms where read-write lock implementation does not
prefer readers by default (Windows, Solaris) server might
have deadlocked while detecting MDL deadlock.
MDL deadlock detector relies on the fact that read-write
locks which are used in its implementation prefer readers
(see new comment for MDL_lock::m_rwlock for details).
So far MDL code assumed that default implementation of
read/write locks for the system has this property.
Indeed, this turned out ot be wrong, for example, for
Windows or Solaris. Thus MDL deadlock detector might have
deadlocked on these systems.
This fix simply adds portable implementation of read/write
lock which prefer readers and changes MDL code to use this
new type of synchronization primitive.
No test case is added as existing rqg_mdl_stability test can
serve as one.
Diffstat (limited to 'config.h.cmake')
-rw-r--r-- | config.h.cmake | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/config.h.cmake b/config.h.cmake index eb1a5e24ec8..f0473c83af6 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -205,6 +205,7 @@ #cmakedefine HAVE_PTHREAD_KEY_DELETE 1 #cmakedefine HAVE_PTHREAD_KILL 1 #cmakedefine HAVE_PTHREAD_RWLOCK_RDLOCK 1 +#cmakedefine HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP 1 #cmakedefine HAVE_PTHREAD_SETPRIO_NP 1 #cmakedefine HAVE_PTHREAD_SETSCHEDPARAM 1 #cmakedefine HAVE_PTHREAD_SIGMASK 1 |