Changeset 50688 in vbox
- Timestamp:
- Mar 4, 2014 11:11:39 PM (11 years ago)
- Location:
- trunk/src/VBox/Additions/common/VBoxGuest
- Files:
-
- 3 edited
-
VBoxGuest-darwin.cpp (modified) (4 diffs)
-
VBoxGuest.cpp (modified) (1 diff)
-
VBoxGuestInternal.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-darwin.cpp
r48034 r50688 650 650 651 651 /** 652 * Just a plug652 * Perform pending wake ups in work loop context. 653 653 */ 654 654 static void 655 interruptHandler(OSObject *pOwner, IOInterruptEventSource *pSrc, int cInts)656 { 657 NOREF(pOwner); 658 NOREF(pSrc); 659 NOREF(cInts);655 deferredInterruptHandler(OSObject *pOwner, IOInterruptEventSource *pSrc, int cInts) 656 { 657 NOREF(pOwner); NOREF(pSrc); NOREF(cInts); 658 659 VBoxGuestWaitDoWakeUps(&g_DevExt); 660 660 } 661 661 … … 664 664 */ 665 665 static bool 666 checkForInterrupt(OSObject *pOwner, IOFilterInterruptEventSource *pSrc)666 directInterruptHandler(OSObject *pOwner, IOFilterInterruptEventSource *pSrc) 667 667 { 668 668 if (!pSrc) … … 670 670 671 671 bool fTaken = VBoxGuestCommonISR(&g_DevExt); 672 if (!fTaken) 672 if (!fTaken) /** @todo r=bird: This looks bogus as we might actually be sharing interrupts with someone. */ 673 673 printf("VBoxGuestCommonISR error\n"); 674 674 … … 685 685 686 686 m_pInterruptSrc = IOFilterInterruptEventSource::filterInterruptEventSource(this, 687 & interruptHandler,688 & checkForInterrupt,687 &deferredInterruptHandler, 688 &directInterruptHandler, 689 689 pProvider); 690 690 -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp
r50623 r50688 3089 3089 RTSpinlockReleaseNoInts(pDevExt->EventSpinlock); 3090 3090 3091 #if defined(VBOXGUEST_USE_DEFERRED_WAKE_UP) && !defined(RT_OS_ WINDOWS)3091 #if defined(VBOXGUEST_USE_DEFERRED_WAKE_UP) && !defined(RT_OS_DARWIN) && !defined(RT_OS_WINDOWS) 3092 3092 /* 3093 3093 * Do wake-ups. 3094 3094 * Note. On Windows this isn't possible at this IRQL, so a DPC will take 3095 * care of it. 3095 * care of it. Same on darwin, doing it in the work loop callback. 3096 3096 */ 3097 3097 VBoxGuestWaitDoWakeUps(pDevExt); -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuestInternal.h
r50537 r50688 38 38 /** @def VBOXGUEST_USE_WAKE_UP_LIST 39 39 * Defer wake-up of waiting thread when defined. */ 40 #if defined(RT_OS_ SOLARIS) || defined(RT_OS_WINDOWS) || defined(DOXYGEN_RUNNING)40 #if defined(RT_OS_DARWIN) || defined(RT_OS_SOLARIS) || defined(RT_OS_WINDOWS) || defined(DOXYGEN_RUNNING) 41 41 # define VBOXGUEST_USE_DEFERRED_WAKE_UP 42 42 #endif
Note:
See TracChangeset
for help on using the changeset viewer.

