Enqueue updates priority of the queued thread. It was assumed that the queued thread is the current thread. But it's not the case in CondVar wait morhping, where we requeue an existing CondVar waiter on the Mutex. As the result one thread can falsely get priority of another thread. Fix this by not updating priority in this case. And make the assumption explicit and checked. PiperOrigin-RevId: 561249402 Change-Id: I9476c047757090b893a88a2839b795b85fe220ad
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| internal | Loading commit data... | |
| BUILD.bazel | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| barrier.cc | Loading commit data... | |
| barrier.h | Loading commit data... | |
| barrier_test.cc | Loading commit data... | |
| blocking_counter.cc | Loading commit data... | |
| blocking_counter.h | Loading commit data... | |
| blocking_counter_benchmark.cc | Loading commit data... | |
| blocking_counter_test.cc | Loading commit data... | |
| lifetime_test.cc | Loading commit data... | |
| mutex.cc | Loading commit data... | |
| mutex.h | Loading commit data... | |
| mutex_benchmark.cc | Loading commit data... | |
| mutex_method_pointer_test.cc | Loading commit data... | |
| mutex_test.cc | Loading commit data... | |
| notification.cc | Loading commit data... | |
| notification.h | Loading commit data... | |
| notification_test.cc | Loading commit data... |