diff options
author | Kevin Wolf <kwolf@redhat.com> | 2013-03-19 13:38:09 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-03-19 07:56:07 -0500 |
commit | 2c8a59422c06fe1e37c85502d92ccdfb5e2ac987 (patch) | |
tree | f92591dd4bd77c08627f1c7895f853c71a8f7c82 | |
parent | f628926bb423fa8a7e0b114511400ea9df38b76a (diff) |
char: Fix return type of qemu_chr_fe_add_watch()
qemu_chr_fe_add_watch() can return negative errors, therefore it must
not have an unsigned return type. For consistency with other
qemu_chr_fe_* functions, this uses a standard C int instead of glib
types.
In situations where qemu_chr_fe_add_watch() is falsely assumed to have
succeeded, the serial ports would go into a state where it never becomes
ready for transmitting more data; this is fixed by this patch.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | include/char/char.h | 4 | ||||
-rw-r--r-- | qemu-char.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/include/char/char.h b/include/char/char.h index d6a03513bf..0326b2a47b 100644 --- a/include/char/char.h +++ b/include/char/char.h @@ -153,8 +153,8 @@ void qemu_chr_fe_close(struct CharDriverState *chr); void qemu_chr_fe_printf(CharDriverState *s, const char *fmt, ...) GCC_FMT_ATTR(2, 3); -guint qemu_chr_fe_add_watch(CharDriverState *s, GIOCondition cond, - GIOFunc func, void *user_data); +int qemu_chr_fe_add_watch(CharDriverState *s, GIOCondition cond, + GIOFunc func, void *user_data); /** * @qemu_chr_fe_write: diff --git a/qemu-char.c b/qemu-char.c index e6337971a5..4e011df3ec 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -3397,8 +3397,8 @@ void qemu_chr_fe_close(struct CharDriverState *chr) } } -guint qemu_chr_fe_add_watch(CharDriverState *s, GIOCondition cond, - GIOFunc func, void *user_data) +int qemu_chr_fe_add_watch(CharDriverState *s, GIOCondition cond, + GIOFunc func, void *user_data) { GSource *src; guint tag; |