]> git.proxmox.com Git - qemu.git/commit
sockets: change inet_connect() to support nonblock socket
authorAmos Kong <akong@redhat.com>
Thu, 10 May 2012 16:28:16 +0000 (00:28 +0800)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 10 May 2012 17:37:57 +0000 (12:37 -0500)
commita6ba35b3be9d3d2874cd00930c954347e6be764c
treea3649f8d62a340094d7c4fc14197c9742e061b52
parentaed3d11df6d14ce63ac754601e4df965c608f6bd
sockets: change inet_connect() to support nonblock socket

Add a bool argument to inet_connect() to assign if set socket
to block/nonblock, and delete original argument 'socktype'
that is unused.
Add a new argument to inet_connect()/inet_connect_opts(),
to pass back connect error by error class.

Retry to connect when -EINTR is got. Connect's successful
for nonblock socket when following errors are got, user
should wait for connecting by select():
  -EINPROGRESS
  -EWOULDBLOCK (win32)
  -WSAEALREADY (win32)

Change nbd, vnc to use new interface.

Signed-off-by: Amos Kong <akong@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
nbd.c
qemu-char.c
qemu-sockets.c
qemu_socket.h
ui/vnc.c