[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 12/20] qemu-char: remove use of QEMUTimer in favor o
From: |
Amit Shah |
Subject: |
[Qemu-devel] [PATCH 12/20] qemu-char: remove use of QEMUTimer in favor of glib idle function |
Date: |
Tue, 5 Mar 2013 23:21:27 +0530 |
From: Anthony Liguori <address@hidden>
qemu-char is now independent of the QEMU main loop.
Signed-off-by: Anthony Liguori <address@hidden>
Signed-off-by: Amit Shah <address@hidden>
---
include/char/char.h | 2 +-
qemu-char.c | 12 +++++-------
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/include/char/char.h b/include/char/char.h
index 09ac401..e8b781c 100644
--- a/include/char/char.h
+++ b/include/char/char.h
@@ -71,7 +71,7 @@ struct CharDriverState {
void (*chr_guest_open)(struct CharDriverState *chr);
void (*chr_guest_close)(struct CharDriverState *chr);
void *opaque;
- QEMUTimer *open_timer;
+ int idle_tag;
char *label;
char *filename;
int opened;
diff --git a/qemu-char.c b/qemu-char.c
index 6dba943..2c7c929 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -122,20 +122,18 @@ void qemu_chr_be_event(CharDriverState *s, int event)
s->chr_event(s->handler_opaque, event);
}
-static void qemu_chr_fire_open_event(void *opaque)
+static gboolean qemu_chr_generic_open_bh(gpointer opaque)
{
CharDriverState *s = opaque;
qemu_chr_be_event(s, CHR_EVENT_OPENED);
- qemu_free_timer(s->open_timer);
- s->open_timer = NULL;
+ s->idle_tag = 0;
+ return FALSE;
}
void qemu_chr_generic_open(CharDriverState *s)
{
- if (s->open_timer == NULL) {
- s->open_timer = qemu_new_timer_ms(rt_clock,
- qemu_chr_fire_open_event, s);
- qemu_mod_timer(s->open_timer, qemu_get_clock_ms(rt_clock) - 1);
+ if (s->idle_tag == 0) {
+ s->idle_tag = g_idle_add(qemu_chr_generic_open_bh, s);
}
}
--
1.8.1.2
- [Qemu-devel] [PATCH 06/20] qemu-char: convert UDP to GIOChannel, (continued)
- [Qemu-devel] [PATCH 06/20] qemu-char: convert UDP to GIOChannel, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 07/20] qemu-char: tcp: make use GIOChannel, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 08/20] qemu-char: add watch support, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 09/20] qemu-char: add pty watch, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 10/20] char: add gio watch fn for tcp backends, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 11/20] qemu-char: use a glib timeout instead of qemu-timer, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 12/20] qemu-char: remove use of QEMUTimer in favor of glib idle function,
Amit Shah <=
- [Qemu-devel] [PATCH 13/20] qemu-char: make char drivers dynamically registerable, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 14/20] qemu-char: move spice registration to spice-qemu-char.c, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 15/20] qemu-char: move baum registration to baum.c, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 16/20] qemu-char: move msmouse registeration to msmouse.c, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 17/20] qemu-char: move text console init to console.c, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 18/20] serial: add flow control to transmit, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 19/20] virtio: console: add flow control, Amit Shah, 2013/03/05
- [Qemu-devel] [PATCH 20/20] virtio-serial: make flow control explicit in virtio-console, Amit Shah, 2013/03/05
- Re: [Qemu-devel] [PATCH 00/20] chardev flow control, Anthony Liguori, 2013/03/11