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