summary refs log tree commit diff stats
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-09-22 14:49:01 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-09-22 14:49:01 +0000
commitad02ad6fda4499fdf71c82ea1c7f37fbea25985d (patch)
tree49bcc84e2883fa9cc872f761676deaba7e7a6447
parente5fd43a9268661c19e4a743680003a181dd67e0a (diff)
downloadfocaccia-qemu-ad02ad6fda4499fdf71c82ea1c7f37fbea25985d.tar.gz
focaccia-qemu-ad02ad6fda4499fdf71c82ea1c7f37fbea25985d.zip
Do not allow AIO to be inited multiple times
This prevents two signalfd() threads from being spawned.  This problem was
originally spotted by Blue Swirl.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5289 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--block-raw-posix.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/block-raw-posix.c b/block-raw-posix.c
index 7c42c108e7..26819a4d8c 100644
--- a/block-raw-posix.c
+++ b/block-raw-posix.c
@@ -511,6 +511,9 @@ void qemu_aio_init(void)
 {
     sigset_t mask;
 
+    if (aio_initialized)
+        return;
+
     aio_initialized = 1;
 
     /* Make sure to block AIO signal */