lp:~laurynas-biveinis/percona-server/bug1235285

Created by Laurynas Biveinis on 2013-10-04 and last modified on 2013-10-04
Get this branch:
bzr branch lp:~laurynas-biveinis/percona-server/bug1235285
Only Laurynas Biveinis can upload to this branch. If you are Laurynas Biveinis please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

459. By Laurynas Biveinis on 2013-10-04

Fix bug 1235285 (Missed wakeup events in priority rw lock).

The following issues were found and addressed.
- high_priority_wait_ex_waiter was never set, meaning, that a sole
high-priority X waiter coming after any S waits will not receive its
wakeup event. Fixed by adding high_priority flag arg to
rw_lock_x_lock_wait() and setting high_priority_wait_ex_waiter there
as needed.

- Since low-priority S acquisitions were made to wait instead of
acquire when a high-priority S lockers exist, it is possible to have
waiters on S releases now. This was not done before, and fixed by
adjusting rw_lock_s_unlock_func() to set the regular RW lock event on
S unlocks too if needed.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-server/5.6
This branch contains Public information 
Everyone can see this information.