HomeFreeBSD

xenstore: don't wait with the PCATCH flag

Description

xenstore: don't wait with the PCATCH flag

Due to the current synchronous xenstore implementation in FreeBSD, we
cannot return from xs_read_reply without reading a reply, or else the
ring gets out of sync and the next request will read the previous
reply and crash due to the type mismatch. A proper solution involves
making use of the req_id field in the message and allowing multiple
in-flight messages at the same time on the ring.

Remove the PCATCH flag so that signals don't interrupt the wait.

Tested by: Nathan Friess <nathan.friess@gmail.com>
Sponsored by: Citrix Systems R&D

Details

Provenance
roygerAuthored on
Parents
rS334140: xenstore: remove the suspend sx lock
Branches
Unknown
Tags
Unknown