HomeFreeBSD

When sleeping waiting for either local or remote advisory lock,

Description

When sleeping waiting for either local or remote advisory lock,
interrupt sleeps with the ERESTART on the suspension attempts.
Otherwise, single-threading requests are deferred until the locks are
granted for NFS files, which causes hangs.

When retrying local registration of the remotely-granted adv lock,
allow full suspension and check for suspension, for usual reasons.

Reported by: markj, pho
Reviewed by: jilles
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Approved by: re (gjb)

Details

Provenance
kibAuthored on
Reviewer
jilles
Parents
rS302215: Rewrite sigdeferstop(9) and sigallowstop(9) into more flexible
Branches
Unknown
Tags
Unknown