HomeFreeBSD

fusefs: fix another semi-infinite loop bug regarding signal handling

Description

fusefs: fix another semi-infinite loop bug regarding signal handling

fticket_wait_answer would spin if it received an unhandled signal whose
default disposition is to terminate. The reason is because msleep(9) would
return EINTR even for a masked signal. One reason is when the thread is
stopped, which happens for example during sigexit(). Fix this bug by
returning immediately if fticket_wait_answer ever gets interrupted a second
time, for any reason.

Sponsored by: The FreeBSD Foundation

Details

Provenance
asomersAuthored on Jul 18 2019, 3:30 PM
Parents
rGd26d63a4af4f: fusefs: multiple interruptility improvements
Branches
Unknown
Tags
Unknown

Event Timeline