aboutsummaryrefslogtreecommitdiff
path: root/emulators/qemu-devel/files/patch-block-raw.c
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/qemu-devel/files/patch-block-raw.c')
-rw-r--r--emulators/qemu-devel/files/patch-block-raw.c51
1 files changed, 0 insertions, 51 deletions
diff --git a/emulators/qemu-devel/files/patch-block-raw.c b/emulators/qemu-devel/files/patch-block-raw.c
deleted file mode 100644
index 7d68d282bdaa..000000000000
--- a/emulators/qemu-devel/files/patch-block-raw.c
+++ /dev/null
@@ -1,51 +0,0 @@
-Index: qemu/block-raw.c
-@@ -51,7 +51,10 @@
- #include <linux/cdrom.h>
- #include <linux/fd.h>
- #endif
- #ifdef __FreeBSD__
-+#include <signal.h>
-+#endif
-+#if defined(__FreeBSD__) && __FreeBSD__ > 4
- #include <sys/disk.h>
- #endif
-
-@@ -167,9 +167,20 @@
- static int aio_sig_num = SIGUSR2;
- static RawAIOCB *first_aio; /* AIO issued */
- static int aio_initialized = 0;
-+// FreeBSD 4.x doesn't have sigwait
-+#if defined(__FreeBSD__) && __FreeBSD__ <= 4
-+static int sigaio_dont = 0;
-+#endif
-
- static void aio_signal_handler(int signum)
- {
-+// FreeBSD 4.x doesn't have sigwait
-+#if defined(__FreeBSD__) && __FreeBSD__ <= 4
-+ if (sigaio_dont) {
-+ --sigaio_dont;
-+ return;
-+ }
-+#endif
- #ifndef QEMU_TOOL
- CPUState *env = cpu_single_env;
- if (env) {
-@@ -284,9 +295,17 @@
- if (qemu_bh_poll())
- return;
- #endif
-+// FreeBSD 4.x doesn't have sigwait
-+#if defined(__FreeBSD__) && __FreeBSD__ <= 4
-+ ++sigaio_dont;
-+ do
-+ sigsuspend(&wait_oset);
-+ while (sigaio_dont);
-+#else
- sigemptyset(&set);
- sigaddset(&set, aio_sig_num);
- sigwait(&set, &nb_sigs);
-+#endif
- qemu_aio_poll();
- }
-