diff options
author | Anthony Liguori | 2013-03-26 16:04:43 +0100 |
---|---|---|
committer | Anthony Liguori | 2013-03-26 16:08:12 +0100 |
commit | 0fbf01fe911e84c588be41636570f46f597113d6 (patch) | |
tree | 2a62ae0222bc875596a9fcee39bfa39e368e2b65 | |
parent | char: introduce a blocking version of qemu_chr_fe_write (diff) | |
download | qemu-0fbf01fe911e84c588be41636570f46f597113d6.tar.gz qemu-0fbf01fe911e84c588be41636570f46f597113d6.tar.xz qemu-0fbf01fe911e84c588be41636570f46f597113d6.zip |
qtest: use synchronous I/O for char device
Peter reported that rtc-test would periodically hang. It turns out
this was due to an EAGAIN occurring on qemu_chr_fe_write.
Instead of heavily refactoring qtest, just use a synchronous version
of the write operation for qemu_chr_fe_write to address this problem.
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | qtest.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -191,7 +191,7 @@ static void GCC_FMT_ATTR(2, 3) qtest_send(CharDriverState *chr, len = vsnprintf(buffer, sizeof(buffer), fmt, ap); va_end(ap); - qemu_chr_fe_write(chr, (uint8_t *)buffer, len); + qemu_chr_fe_write_all(chr, (uint8_t *)buffer, len); if (qtest_log_fp && qtest_opened) { fprintf(qtest_log_fp, "%s", buffer); } |