diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/rng-egd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/backends/rng-egd.c b/backends/rng-egd.c index 7a1b9242d8..ba17c075cf 100644 --- a/backends/rng-egd.c +++ b/backends/rng-egd.c @@ -41,7 +41,9 @@ static void rng_egd_request_entropy(RngBackend *b, RngRequest *req) header[0] = 0x02; header[1] = len; - qemu_chr_fe_write(s->chr, header, sizeof(header)); + /* XXX this blocks entire thread. Rewrite to use + * qemu_chr_fe_write and background I/O callbacks */ + qemu_chr_fe_write_all(s->chr, header, sizeof(header)); size -= len; } |