mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp: Add HMP command "info memory-devices" qemu-socket: Eliminate silly QERR_ macros qemu-socket: Polish errors for connect() and listen() failure qemu-iotests: Test missing "driver" key for blockdev-add tests: add QMP input visitor test for unions with no discriminator qapi: dealloc visitor, implement visit_start_union qapi: add visit_start_union and visit_end_union virtio-balloon: fix integer overflow in memory stats feature monitor: Reset HMP mon->rs in CHR_EVENT_OPEN Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
b60a7726cc
17 changed files with 179 additions and 26 deletions
|
@ -159,7 +159,7 @@ int inet_listen_opts(QemuOpts *opts, int port_offset, Error **errp)
|
|||
slisten = qemu_socket(e->ai_family, e->ai_socktype, e->ai_protocol);
|
||||
if (slisten < 0) {
|
||||
if (!e->ai_next) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_CREATE_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to create socket");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
@ -183,7 +183,7 @@ int inet_listen_opts(QemuOpts *opts, int port_offset, Error **errp)
|
|||
}
|
||||
if (p == port_max) {
|
||||
if (!e->ai_next) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_BIND_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to bind socket");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -194,7 +194,7 @@ int inet_listen_opts(QemuOpts *opts, int port_offset, Error **errp)
|
|||
|
||||
listen:
|
||||
if (listen(slisten,1) != 0) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_LISTEN_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to listen on socket");
|
||||
closesocket(slisten);
|
||||
freeaddrinfo(res);
|
||||
return -1;
|
||||
|
@ -281,7 +281,7 @@ static int inet_connect_addr(struct addrinfo *addr, bool *in_progress,
|
|||
|
||||
sock = qemu_socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol);
|
||||
if (sock < 0) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_CREATE_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to create socket");
|
||||
return -1;
|
||||
}
|
||||
socket_set_fast_reuse(sock);
|
||||
|
@ -302,7 +302,7 @@ static int inet_connect_addr(struct addrinfo *addr, bool *in_progress,
|
|||
connect_state);
|
||||
*in_progress = true;
|
||||
} else if (rc < 0) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_CONNECT_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to connect socket");
|
||||
closesocket(sock);
|
||||
return -1;
|
||||
}
|
||||
|
@ -466,20 +466,20 @@ int inet_dgram_opts(QemuOpts *opts, Error **errp)
|
|||
/* create socket */
|
||||
sock = qemu_socket(peer->ai_family, peer->ai_socktype, peer->ai_protocol);
|
||||
if (sock < 0) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_CREATE_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to create socket");
|
||||
goto err;
|
||||
}
|
||||
socket_set_fast_reuse(sock);
|
||||
|
||||
/* bind socket */
|
||||
if (bind(sock, local->ai_addr, local->ai_addrlen) < 0) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_BIND_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to bind socket");
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* connect to peer */
|
||||
if (connect(sock,peer->ai_addr,peer->ai_addrlen) < 0) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_CONNECT_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to connect socket");
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -684,7 +684,7 @@ int unix_listen_opts(QemuOpts *opts, Error **errp)
|
|||
|
||||
sock = qemu_socket(PF_UNIX, SOCK_STREAM, 0);
|
||||
if (sock < 0) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_CREATE_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to create socket");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -709,11 +709,11 @@ int unix_listen_opts(QemuOpts *opts, Error **errp)
|
|||
|
||||
unlink(un.sun_path);
|
||||
if (bind(sock, (struct sockaddr*) &un, sizeof(un)) < 0) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_BIND_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to bind socket");
|
||||
goto err;
|
||||
}
|
||||
if (listen(sock, 1) < 0) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_LISTEN_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to listen on socket");
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -739,7 +739,7 @@ int unix_connect_opts(QemuOpts *opts, Error **errp,
|
|||
|
||||
sock = qemu_socket(PF_UNIX, SOCK_STREAM, 0);
|
||||
if (sock < 0) {
|
||||
error_set_errno(errp, errno, QERR_SOCKET_CREATE_FAILED);
|
||||
error_setg_errno(errp, errno, "Failed to create socket");
|
||||
return -1;
|
||||
}
|
||||
if (callback != NULL) {
|
||||
|
@ -774,7 +774,7 @@ int unix_connect_opts(QemuOpts *opts, Error **errp,
|
|||
}
|
||||
|
||||
if (rc < 0) {
|
||||
error_set_errno(errp, -rc, QERR_SOCKET_CONNECT_FAILED);
|
||||
error_setg_errno(errp, -rc, "Failed to connect socket");
|
||||
close(sock);
|
||||
sock = -1;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue