HomeFreeBSD

Fix umtxq_sleep() regression caused by 56070dd2e4d.

Description

Fix umtxq_sleep() regression caused by 56070dd2e4d.

umtxq_requeue() moves the queue to a different hash chain and different
lock, so we can't rely on msleep_sbt() reacquiring the same old lock.
We have to use PDROP and update the queue chain and so lock pointer.

PR: 262587

(cherry picked from commit fd6ca665d206b74970e7c01d06ae06fed71500fc)

Details

Provenance
mavAuthored on Mar 21 2022, 11:43 PM
hselaskyCommitted on Nov 12 2022, 11:59 AM
Parents
rGe21c77f80c3b: Improve timeout precision of pthread_cond_timedwait().
Branches
Unknown
Tags
Unknown