diff --git a/posix-aio-compat.c b/posix-aio-compat.c
index dc14f53..f5f3db6 100644
--- a/posix-aio-compat.c
+++ b/posix-aio-compat.c
@@ -501,8 +501,11 @@ static void aio_signal_handler(int signum)
 {
     if (posix_aio_state) {
         char byte = 0;
+        ssize_t ret;

-        write(posix_aio_state->wfd, &byte, sizeof(byte));
+        ret = qemu_write_full(posix_aio_state->wfd, &byte, sizeof(byte));
+        if (ret < 0)
+            die("write()");
     }

     qemu_service_io();
