From: "Hervé Poussineau" <hpoussin@reactos.org>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH] Fix VNC on Windows
Date: Tue, 15 Apr 2008 09:21:05 +0200 [thread overview]
Message-ID: <48045761.3010404@reactos.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 348 bytes --]
Hi,
VNC server included in Qemu disconnects its client very often. It is
because recv() function returns WSAEWOULDBLOCK when no data is available.
Attached patch fixes this problem by not considering WSAEWOULDBLOCK as
an error, so prevents disconnecting the client.
The patch also fixes a warning which happens on WIN32 hosts.
Hervé
[-- Attachment #2: vnc.patch --]
[-- Type: text/plain, Size: 1052 bytes --]
Index: vnc.c
===================================================================
--- vnc.c (revision 4186)
+++ vnc.c (working copy)
@@ -633,8 +633,18 @@
static int vnc_client_io_error(VncState *vs, int ret, int last_errno)
{
if (ret == 0 || ret == -1) {
- if (ret == -1 && (last_errno == EINTR || last_errno == EAGAIN))
- return 0;
+ if (ret == -1) {
+ switch (last_errno) {
+ case EINTR:
+ case EAGAIN:
+#ifdef _WIN32
+ case WSAEWOULDBLOCK:
+#endif
+ return 0;
+ default:
+ break;
+ }
+ }
VNC_DEBUG("Closing down client sock %d %d\n", ret, ret < 0 ? last_errno : 0);
qemu_set_fd_handler2(vs->csock, NULL, NULL, NULL, NULL);
@@ -2086,10 +2096,10 @@
struct sockaddr_in iaddr;
#ifndef _WIN32
struct sockaddr_un uaddr;
+ const char *p;
#endif
int reuse_addr, ret;
socklen_t addrlen;
- const char *p;
VncState *vs = ds ? (VncState *)ds->opaque : vnc_state;
const char *options;
int password = 0;
reply other threads:[~2008-04-15 7:21 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48045761.3010404@reactos.org \
--to=hpoussin@reactos.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).