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 Jun 26 2016, 8:08 PM
Parents
rG3a1e5dd8e63c: Rewrite sigdeferstop(9) and sigallowstop(9) into more flexible
Branches
Unknown
Tags
Unknown

Event Timeline