[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCHv2 02/14] vscclient: do not add a socket watch if the
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCHv2 02/14] vscclient: do not add a socket watch if there is not data to send |
Date: |
Sun, 1 Dec 2013 22:23:35 +0100 |
From: Marc-André Lureau <address@hidden>
Fixes the following error:
** (process:780): CRITICAL **: do_socket_send: assertion
`socket_to_send->len != 0' failed
Signed-off-by: Marc-André Lureau <address@hidden>
---
libcacard/vscclient.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/libcacard/vscclient.c b/libcacard/vscclient.c
index a3cb776..c413a4f 100644
--- a/libcacard/vscclient.c
+++ b/libcacard/vscclient.c
@@ -58,7 +58,7 @@ static QemuMutex socket_to_send_lock;
static guint socket_tag;
static void
-update_socket_watch(gboolean out);
+update_socket_watch(void);
static gboolean
do_socket_send(GIOChannel *source,
@@ -80,7 +80,7 @@ do_socket_send(GIOChannel *source,
g_byte_array_remove_range(socket_to_send, 0, bw);
if (socket_to_send->len == 0) {
- update_socket_watch(FALSE);
+ update_socket_watch();
return FALSE;
}
return TRUE;
@@ -89,7 +89,7 @@ do_socket_send(GIOChannel *source,
static gboolean
socket_prepare_sending(gpointer user_data)
{
- update_socket_watch(TRUE);
+ update_socket_watch();
return FALSE;
}
@@ -440,8 +440,10 @@ do_socket(GIOChannel *source,
}
static void
-update_socket_watch(gboolean out)
+update_socket_watch(void)
{
+ gboolean out = socket_to_send->len > 0;
+
if (socket_tag != 0) {
g_source_remove(socket_tag);
}
--
1.8.4.2
- [Qemu-devel] [PATCHv2 00/14] Spice block device, ready-to-go patches, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 01/14] coroutine: remove qemu_co_queue_wait_insert_head, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 02/14] vscclient: do not add a socket watch if there is not data to send,
Marc-André Lureau <=
- [Qemu-devel] [PATCHv2 03/14] spice-char: remove unused field, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 04/14] qmp_change_blockdev() remove unused has_format, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 05/14] include: add missing config-host.h include, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 06/14] char: add qemu_chr_fe_event(), Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 08/14] Split nbd block client code, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 07/14] spice-char: implement chardev port event, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 09/14] nbd: don't change socket block during negotiate, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 10/14] nbd: pass export name as init argument, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 11/14] nbd: make nbd_client_session_close() idempotent, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 12/14] nbd: finish any pending coroutine, Marc-André Lureau, 2013/12/01