aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordecke <decke@FreeBSD.org>2011-06-03 01:02:22 +0800
committerdecke <decke@FreeBSD.org>2011-06-03 01:02:22 +0800
commit19ec3f084db90c322771159b772f7396f29249c4 (patch)
tree3ccc4561c7069f03158b8988d93bcbab968117ef
parent8456f7dc04f3bfbf179d585c533541f747e16d70 (diff)
downloadfreebsd-ports-gnome-19ec3f084db90c322771159b772f7396f29249c4.tar.gz
freebsd-ports-gnome-19ec3f084db90c322771159b772f7396f29249c4.tar.zst
freebsd-ports-gnome-19ec3f084db90c322771159b772f7396f29249c4.zip
- Fix panic: spin lock held too long on FreeBSD 7.x
- Bump PORTREVISION PR: ports/157290 Submitted by: Alexander Eichner <Alexander.Eichner@oracle.com> Reported by: Oleksii Krykun <kryol@bigmir.net>, Martin Birgmeier <xxllxrvt@aon.at>, Peter Klett <peter@netkey.at>
-rw-r--r--emulators/virtualbox-ose-kmod/Makefile1
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h12
2 files changed, 13 insertions, 0 deletions
diff --git a/emulators/virtualbox-ose-kmod/Makefile b/emulators/virtualbox-ose-kmod/Makefile
index 93f488b9b8db..e5d0ac18a493 100644
--- a/emulators/virtualbox-ose-kmod/Makefile
+++ b/emulators/virtualbox-ose-kmod/Makefile
@@ -7,6 +7,7 @@
PORTNAME= virtualbox-ose
DISTVERSION= 4.0.8
+PORTREVISION= 1
CATEGORIES= emulators kld
MASTER_SITES= http://tmp.chruetertee.ch/ \
http://freebsd.unixfreunde.de/sources/ \
diff --git a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h
new file mode 100644
index 000000000000..e745733bdee2
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h
@@ -0,0 +1,12 @@
+--- src/VBox/Runtime/r0drv/freebsd/sleepqueue-r0drv-freebsd.h.orig 2011-05-16 18:33:52.000000000 +0200
++++ src/VBox/Runtime/r0drv/freebsd/sleepqueue-r0drv-freebsd.h 2011-06-02 18:26:49.000000000 +0200
+@@ -313,7 +313,9 @@
+ {
+ sleepq_lock(pvWaitChan);
+ sleepq_broadcast(pvWaitChan, SLEEPQ_CONDVAR, 0, 0);
++#if __FreeBSD_version >= 800000 /* Broadcast releases the sleep queue lock on FreeBSD 7.x */
+ sleepq_release(pvWaitChan);
++#endif
+ }
+
+ /**