[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 15/29] vnc: reorganize code for reverse mode
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 15/29] vnc: reorganize code for reverse mode |
Date: |
Fri, 19 Oct 2012 15:31:54 +0200 |
Avoid the dance between csock and vs->lsock.
Signed-off-by: Paolo Bonzini <address@hidden>
---
console.h | 2 +-
qmp.c | 6 ++----
ui/vnc.c | 20 +++++++++-----------
3 file modificati, 12 inserzioni(+), 16 rimozioni(-)
diff --git a/console.h b/console.h
index f990684..6099d8d 100644
--- a/console.h
+++ b/console.h
@@ -378,7 +378,7 @@ void cocoa_display_init(DisplayState *ds, int full_screen);
/* vnc.c */
void vnc_display_init(DisplayState *ds);
void vnc_display_close(DisplayState *ds);
-int vnc_display_open(DisplayState *ds, const char *display);
+void vnc_display_open(DisplayState *ds, const char *display, Error **errp);
void vnc_display_add_client(DisplayState *ds, int csock, int skipauth);
int vnc_display_disable_login(DisplayState *ds);
char *vnc_display_local_addr(DisplayState *ds);
diff --git a/qmp.c b/qmp.c
index 36c54c5..31bc3bf 100644
--- a/qmp.c
+++ b/qmp.c
@@ -349,11 +349,9 @@ void qmp_change_vnc_password(const char *password, Error
**errp)
}
}
-static void qmp_change_vnc_listen(const char *target, Error **err)
+static void qmp_change_vnc_listen(const char *target, Error **errp)
{
- if (vnc_display_open(NULL, target) < 0) {
- error_set(err, QERR_VNC_SERVER_FAILED, target);
- }
+ vnc_display_open(NULL, target, errp);
}
static void qmp_change_vnc(const char *target, bool has_arg, const char *arg,
diff --git a/ui/vnc.c b/ui/vnc.c
index 6da265f..1989620 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3051,19 +3051,17 @@ int vnc_display_open(DisplayState *ds, const char
*display)
if (reverse) {
/* connect to viewer */
- if (strncmp(display, "unix:", 5) == 0)
- vs->lsock = unix_connect(display+5, NULL);
- else
- vs->lsock = inet_connect(display, NULL);
- if (vs->lsock < 0) {
- goto fail;
+ int csock;
+ vs->lsock = -1;
+ if (strncmp(display, "unix:", 5) == 0) {
+ csock = unix_connect(display+5, NULL);
} else {
- int csock = vs->lsock;
- vs->lsock = -1;
- vnc_connect(vs, csock, 0);
+ csock = inet_connect(display, NULL);
}
- return 0;
-
+ if (csock < 0) {
+ goto fail;
+ }
+ vnc_connect(vs, csock, 0);
} else {
/* listen for connects */
char *dpy;
--
1.7.12.1
- [Qemu-devel] [PULL 00/29] qemu-sockets error propagation + NBD server, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 01/29] error: add error_set_errno and error_setg_errno, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 02/29] qemu-sockets: add Error ** to all functions, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 04/29] qemu-sockets: add nonblocking connect for Unix sockets, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 03/29] qemu-sockets: unix_listen and unix_connect are portable, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 05/29] migration: avoid using error_is_set and thus relying on errp != NULL, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 07/29] migration: use qemu-sockets to establish Unix sockets, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 06/29] migration: centralize call to migrate_fd_error(), Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 11/29] nbd: ask and print error information from qemu-sockets, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 15/29] vnc: reorganize code for reverse mode,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 16/29] vnc: add error propagation to vnc_display_open, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 08/29] migration (outgoing): add error propagation for all protocols, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 20/29] qemu-sockets: add error propagation to inet_parse, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 19/29] qemu-sockets: add error propagation to inet_dgram_opts, Paolo Bonzini, 2012/10/19
- [Qemu-devel] [PATCH 14/29] vnc: introduce a single label for error returns, Paolo Bonzini, 2012/10/19