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>
This commit is contained in:
parent
f628926bb4
commit
2c8a59422c
@ -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:
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user