oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock()
The fcntl(fd, F_SETFL, O_NONBLOCK) flag is not specific to sockets. Rename to qemu_set_nonblock() just like qemu_set_cloexec(). Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit 399f1c8f8af1f6f8b18ef4e37169c6301264e467) Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Conflicts: block/sheepdog.c socket_set_block()/socket_set_nonblock() calls in different locations include/qemu/sockets.h socket_set_nodelay() does not exist in v1.4.0, messes up diff context qemu-char.c glib G_IO_IN events are not used in v1.4.0, messes up diff context savevm.c qemu_fopen_socket() only has read mode in v1.4.0, qemu_set_block() not necessary. slirp/misc.c unportable setsockopt() calls in v1.4.0 mess up diff context slirp/tcp_subr.c file was reformatted, diff context is messed up ui/vnc.c old dcl->idle instead of vd->dcl.idle messes up diff context Added: migration-tcp.c, migration-unix.c qemu_fopen_socket() write mode does not exist yet, qemu_set_block() call is needed here. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
parent
0135796271
commit
68f9df5990
|
@ -350,7 +350,7 @@ static int nbd_establish_connection(BlockDriverState *bs)
|
|||
|
||||
/* Now that we're connected, set the socket to be non-blocking and
|
||||
* kick the reply mechanism. */
|
||||
socket_set_nonblock(sock);
|
||||
qemu_set_nonblock(sock);
|
||||
qemu_aio_set_fd_handler(sock, nbd_reply_ready, NULL,
|
||||
nbd_have_request, s);
|
||||
|
||||
|
|
|
@ -549,7 +549,7 @@ static coroutine_fn void do_co_req(void *opaque)
|
|||
co = qemu_coroutine_self();
|
||||
qemu_aio_set_fd_handler(sockfd, NULL, restart_co_req, NULL, co);
|
||||
|
||||
socket_set_block(sockfd);
|
||||
qemu_set_block(sockfd);
|
||||
ret = send_co_req(sockfd, hdr, data, wlen);
|
||||
if (ret < 0) {
|
||||
goto out;
|
||||
|
@ -579,7 +579,7 @@ static coroutine_fn void do_co_req(void *opaque)
|
|||
ret = 0;
|
||||
out:
|
||||
qemu_aio_set_fd_handler(sockfd, NULL, NULL, NULL, NULL);
|
||||
socket_set_nonblock(sockfd);
|
||||
qemu_set_nonblock(sockfd);
|
||||
|
||||
srco->ret = ret;
|
||||
srco->finished = true;
|
||||
|
@ -812,7 +812,7 @@ static int get_sheep_fd(BDRVSheepdogState *s)
|
|||
return fd;
|
||||
}
|
||||
|
||||
socket_set_nonblock(fd);
|
||||
qemu_set_nonblock(fd);
|
||||
|
||||
ret = set_nodelay(fd);
|
||||
if (ret) {
|
||||
|
|
|
@ -34,8 +34,8 @@ int inet_aton(const char *cp, struct in_addr *ia);
|
|||
int qemu_socket(int domain, int type, int protocol);
|
||||
int qemu_accept(int s, struct sockaddr *addr, socklen_t *addrlen);
|
||||
int socket_set_cork(int fd, int v);
|
||||
void socket_set_block(int fd);
|
||||
void socket_set_nonblock(int fd);
|
||||
void qemu_set_block(int fd);
|
||||
void qemu_set_nonblock(int fd);
|
||||
int send_all(int fd, const void *buf, int len1);
|
||||
|
||||
/* callback function for nonblocking connect
|
||||
|
|
|
@ -60,7 +60,7 @@ static void tcp_wait_for_connect(int fd, void *opaque)
|
|||
} else {
|
||||
DPRINTF("migrate connect success\n");
|
||||
s->fd = fd;
|
||||
socket_set_block(s->fd);
|
||||
qemu_set_block(s->fd);
|
||||
migrate_fd_connect(s);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ static void unix_wait_for_connect(int fd, void *opaque)
|
|||
} else {
|
||||
DPRINTF("migrate connect success\n");
|
||||
s->fd = fd;
|
||||
socket_set_block(s->fd);
|
||||
qemu_set_block(s->fd);
|
||||
migrate_fd_connect(s);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@ void process_incoming_migration(QEMUFile *f)
|
|||
int fd = qemu_get_fd(f);
|
||||
|
||||
assert(fd != -1);
|
||||
socket_set_nonblock(fd);
|
||||
qemu_set_nonblock(fd);
|
||||
qemu_coroutine_enter(co, f);
|
||||
}
|
||||
|
||||
|
|
8
nbd.c
8
nbd.c
|
@ -393,7 +393,7 @@ static int nbd_send_negotiate(NBDClient *client)
|
|||
[28 .. 151] reserved (0)
|
||||
*/
|
||||
|
||||
socket_set_block(csock);
|
||||
qemu_set_block(csock);
|
||||
rc = -EINVAL;
|
||||
|
||||
TRACE("Beginning negotiation.");
|
||||
|
@ -436,7 +436,7 @@ static int nbd_send_negotiate(NBDClient *client)
|
|||
TRACE("Negotiation succeeded.");
|
||||
rc = 0;
|
||||
fail:
|
||||
socket_set_nonblock(csock);
|
||||
qemu_set_nonblock(csock);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@ -450,7 +450,7 @@ int nbd_receive_negotiate(int csock, const char *name, uint32_t *flags,
|
|||
|
||||
TRACE("Receiving negotiation.");
|
||||
|
||||
socket_set_block(csock);
|
||||
qemu_set_block(csock);
|
||||
rc = -EINVAL;
|
||||
|
||||
if (read_sync(csock, buf, 8) != 8) {
|
||||
|
@ -565,7 +565,7 @@ int nbd_receive_negotiate(int csock, const char *name, uint32_t *flags,
|
|||
rc = 0;
|
||||
|
||||
fail:
|
||||
socket_set_nonblock(csock);
|
||||
qemu_set_nonblock(csock);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
|
|
@ -309,7 +309,7 @@ static int net_socket_mcast_create(struct sockaddr_in *mcastaddr, struct in_addr
|
|||
}
|
||||
}
|
||||
|
||||
socket_set_nonblock(fd);
|
||||
qemu_set_nonblock(fd);
|
||||
return fd;
|
||||
fail:
|
||||
if (fd >= 0)
|
||||
|
@ -517,7 +517,7 @@ static int net_socket_listen_init(NetClientState *peer,
|
|||
perror("socket");
|
||||
return -1;
|
||||
}
|
||||
socket_set_nonblock(fd);
|
||||
qemu_set_nonblock(fd);
|
||||
|
||||
/* allow fast reuse */
|
||||
val = 1;
|
||||
|
@ -563,7 +563,7 @@ static int net_socket_connect_init(NetClientState *peer,
|
|||
perror("socket");
|
||||
return -1;
|
||||
}
|
||||
socket_set_nonblock(fd);
|
||||
qemu_set_nonblock(fd);
|
||||
|
||||
connected = 0;
|
||||
for(;;) {
|
||||
|
|
|
@ -2377,7 +2377,7 @@ static int tcp_chr_add_client(CharDriverState *chr, int fd)
|
|||
if (s->fd != -1)
|
||||
return -1;
|
||||
|
||||
socket_set_nonblock(fd);
|
||||
qemu_set_nonblock(fd);
|
||||
if (s->do_nodelay)
|
||||
socket_set_nodelay(fd);
|
||||
s->fd = fd;
|
||||
|
@ -2512,7 +2512,7 @@ static CharDriverState *qemu_chr_open_socket_fd(int fd, bool do_nodelay,
|
|||
printf("QEMU waiting for connection on: %s\n",
|
||||
chr->filename);
|
||||
tcp_chr_accept(chr);
|
||||
socket_set_nonblock(s->listen_fd);
|
||||
qemu_set_nonblock(s->listen_fd);
|
||||
}
|
||||
return chr;
|
||||
}
|
||||
|
@ -2554,7 +2554,7 @@ static CharDriverState *qemu_chr_open_socket(QemuOpts *opts)
|
|||
}
|
||||
|
||||
if (!is_waitconnect)
|
||||
socket_set_nonblock(fd);
|
||||
qemu_set_nonblock(fd);
|
||||
|
||||
chr = qemu_chr_open_socket_fd(fd, do_nodelay, is_listen, is_telnet,
|
||||
is_waitconnect, &local_err);
|
||||
|
@ -3328,7 +3328,7 @@ static CharDriverState *qmp_chardev_open_serial(ChardevHostdev *serial,
|
|||
if (error_is_set(errp)) {
|
||||
return NULL;
|
||||
}
|
||||
socket_set_nonblock(fd);
|
||||
qemu_set_nonblock(fd);
|
||||
return qemu_chr_open_tty_fd(fd);
|
||||
#else
|
||||
error_setg(errp, "character device backend type 'serial' not supported");
|
||||
|
|
|
@ -215,7 +215,7 @@ fork_exec(struct socket *so, const char *ex, int do_pty)
|
|||
setsockopt(so->s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int));
|
||||
opt = 1;
|
||||
setsockopt(so->s, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(int));
|
||||
socket_set_nonblock(so->s);
|
||||
qemu_set_nonblock(so->s);
|
||||
|
||||
/* Append the telnet options now */
|
||||
if (so->so_m != NULL && do_pty == 1) {
|
||||
|
|
|
@ -336,7 +336,7 @@ int tcp_fconnect(struct socket *so)
|
|||
int opt, s=so->s;
|
||||
struct sockaddr_in addr;
|
||||
|
||||
socket_set_nonblock(s);
|
||||
qemu_set_nonblock(s);
|
||||
opt = 1;
|
||||
setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(opt ));
|
||||
opt = 1;
|
||||
|
@ -424,7 +424,7 @@ tcp_connect(struct socket *inso)
|
|||
tcp_close(sototcpcb(so)); /* This will sofree() as well */
|
||||
return;
|
||||
}
|
||||
socket_set_nonblock(s);
|
||||
qemu_set_nonblock(s);
|
||||
opt = 1;
|
||||
setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int));
|
||||
opt = 1;
|
||||
|
|
2
ui/vnc.c
2
ui/vnc.c
|
@ -2726,7 +2726,7 @@ static void vnc_connect(VncDisplay *vd, int csock, int skipauth, bool websocket)
|
|||
|
||||
VNC_DEBUG("New client on socket %d\n", csock);
|
||||
dcl->idle = 0;
|
||||
socket_set_nonblock(vs->csock);
|
||||
qemu_set_nonblock(vs->csock);
|
||||
#ifdef CONFIG_VNC_WS
|
||||
if (websocket) {
|
||||
vs->websocket = 1;
|
||||
|
|
|
@ -134,14 +134,14 @@ void qemu_vfree(void *ptr)
|
|||
free(ptr);
|
||||
}
|
||||
|
||||
void socket_set_block(int fd)
|
||||
void qemu_set_block(int fd)
|
||||
{
|
||||
int f;
|
||||
f = fcntl(fd, F_GETFL);
|
||||
fcntl(fd, F_SETFL, f & ~O_NONBLOCK);
|
||||
}
|
||||
|
||||
void socket_set_nonblock(int fd)
|
||||
void qemu_set_nonblock(int fd)
|
||||
{
|
||||
int f;
|
||||
f = fcntl(fd, F_GETFL);
|
||||
|
|
|
@ -100,14 +100,14 @@ struct tm *localtime_r(const time_t *timep, struct tm *result)
|
|||
return p;
|
||||
}
|
||||
|
||||
void socket_set_block(int fd)
|
||||
void qemu_set_block(int fd)
|
||||
{
|
||||
unsigned long opt = 0;
|
||||
WSAEventSelect(fd, NULL, 0);
|
||||
ioctlsocket(fd, FIONBIO, &opt);
|
||||
}
|
||||
|
||||
void socket_set_nonblock(int fd)
|
||||
void qemu_set_nonblock(int fd)
|
||||
{
|
||||
unsigned long opt = 1;
|
||||
ioctlsocket(fd, FIONBIO, &opt);
|
||||
|
|
|
@ -277,7 +277,7 @@ static int inet_connect_addr(struct addrinfo *addr, bool *in_progress,
|
|||
}
|
||||
qemu_setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
|
||||
if (connect_state != NULL) {
|
||||
socket_set_nonblock(sock);
|
||||
qemu_set_nonblock(sock);
|
||||
}
|
||||
/* connect to peer */
|
||||
do {
|
||||
|
@ -733,7 +733,7 @@ int unix_connect_opts(QemuOpts *opts, Error **errp,
|
|||
connect_state = g_malloc0(sizeof(*connect_state));
|
||||
connect_state->callback = callback;
|
||||
connect_state->opaque = opaque;
|
||||
socket_set_nonblock(sock);
|
||||
qemu_set_nonblock(sock);
|
||||
}
|
||||
|
||||
memset(&un, 0, sizeof(un));
|
||||
|
|
Loading…
Reference in New Issue