summary refs log tree commit diff stats
path: root/backends/rng-egd.c
diff options
context:
space:
mode:
Diffstat (limited to 'backends/rng-egd.c')
-rw-r--r--backends/rng-egd.c4
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;
     }