diff options
Diffstat (limited to 'emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r0drv-freebsd.semevent-r0drv-freebsd.c')
-rw-r--r-- | emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r0drv-freebsd.semevent-r0drv-freebsd.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r0drv-freebsd.semevent-r0drv-freebsd.c b/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r0drv-freebsd.semevent-r0drv-freebsd.c new file mode 100644 index 000000000000..c2cdf7963fd7 --- /dev/null +++ b/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r0drv-freebsd.semevent-r0drv-freebsd.c @@ -0,0 +1,41 @@ +Index: src/VBox/Runtime/r0drv/freebsd/semevent-r0drv-freebsd.c +@@ -205,15 +205,23 @@ static int rtSemEventWait(RTSEMEVENT Eve + + RTSpinlockRelease(pEventInt->hSpinLock, &Tmp); + ++#if __FreeBSD_version >=800026 + if (fInterruptible) + rc = sleepq_timedwait_sig(pEventInt, 0); + else + rc = sleepq_timedwait(pEventInt, 0); ++#else ++ if (fInterruptible) ++ rc = sleepq_timedwait_sig(pEventInt); ++ else ++ rc = sleepq_timedwait(pEventInt); ++#endif + } + else + { + RTSpinlockRelease(pEventInt->hSpinLock, &Tmp); + ++#if __FreeBSD_version >=800026 + if (fInterruptible) + rc = sleepq_wait_sig(pEventInt, 0); + else +@@ -221,6 +229,15 @@ static int rtSemEventWait(RTSEMEVENT Eve + rc = 0; + sleepq_wait(pEventInt, 0); + } ++#else ++ if (fInterruptible) ++ rc = sleepq_wait_sig(pEventInt); ++ else ++ { ++ rc = 0; ++ sleepq_wait(pEventInt); ++ } ++#endif + } + + RTSpinlockAcquire(pEventInt->hSpinLock, &Tmp); |