]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commit
net: ensure "socket" backend uses non-blocking fds
authorStefan Hajnoczi <stefanha@redhat.com>
Thu, 4 Apr 2013 14:18:29 +0000 (16:18 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 4 Apr 2013 20:17:32 +0000 (15:17 -0500)
commita1cb89f3fedd6206bc1d99744f303afad2fa6dee
tree0f763ae98d835be73978c8f665a5e33e33602a8c
parent68f9df599042482e54cd92193d3a8679c2b35bc7
net: ensure "socket" backend uses non-blocking fds

There are several code paths in net_init_socket() depending on how the
socket is created: file descriptor passing, UDP multicast, TCP, or UDP.
Some of these support both listen and connect.

Not all code paths set the socket to non-blocking.  This patch addresses
the file descriptor passing and UDP cases which were missing
socket_set_nonblock(fd) calls.

I considered moving socket_set_nonblock(fd) to a central location but it
turns out the code paths are different enough to require non-blocking at
different places.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit f05b707279dc7c29ab10d9d13dbf413df6ec22f1)

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
net/socket.c