Stefan Hajnoczi <[email protected]> wrote:
> When we receive a file descriptor over a UNIX domain socket the
> O_NONBLOCK flag is preserved.  Clear the O_NONBLOCK flag and rely on
> QEMU file descriptor users like migration, SPICE, VNC, block layer, and
> others to set non-blocking only when necessary.
>
> This change ensures we don't accidentally expose O_NONBLOCK in the QMP
> API.  QMP clients should not need to get the non-blocking state
> "correct".
>
> A recent real-world example was when libvirt passed a non-blocking TCP
> socket for migration where we expected a blocking socket.  The source
> QEMU produced a corrupted migration stream since its code did not cope
> with non-blocking sockets.
>
> Signed-off-by: Stefan Hajnoczi <[email protected]>

Acked-by: Juan Quintela <[email protected]>

Reply via email to