1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Bug#51295 Build warnings in mdl.cc

Before this fix, the performance schema instrumentation
in mdl.h / mdl.cc was incomplete, causing:
- build warnings,
- no data collection for the performance schema

This fix:
- added instrumentation helpers for the new preferred
  reader read write lock, mysql_prlock_*
- implemented completely the performance schema
  instrumentation of mdl.h / mdl.cc
This commit is contained in:
Marc Alff
2010-03-07 10:50:47 -07:00
parent 2e5e7bb538
commit 2399b61443
4 changed files with 362 additions and 44 deletions

View File

@ -628,7 +628,7 @@ private:
important as deadlock detector won't work correctly
otherwise. @sa Comment for MDL_lock::m_rwlock.
*/
rw_pr_lock_t m_waiting_for_lock;
mysql_prlock_t m_waiting_for_lock;
MDL_ticket *m_waiting_for;
uint m_deadlock_weight;
/**
@ -652,9 +652,9 @@ private:
void will_wait_for(MDL_ticket *pending_ticket)
{
rw_pr_wrlock(&m_waiting_for_lock);
mysql_prlock_wrlock(&m_waiting_for_lock);
m_waiting_for= pending_ticket;
rw_pr_unlock(&m_waiting_for_lock);
mysql_prlock_unlock(&m_waiting_for_lock);
}
void set_deadlock_weight(uint weight)
@ -670,9 +670,9 @@ private:
void stop_waiting()
{
rw_pr_wrlock(&m_waiting_for_lock);
mysql_prlock_wrlock(&m_waiting_for_lock);
m_waiting_for= NULL;
rw_pr_unlock(&m_waiting_for_lock);
mysql_prlock_unlock(&m_waiting_for_lock);
}
void wait_reset()