- Timestamp:
- May 22, 2009 5:14:11 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 47617
- Location:
- trunk/src/VBox/Runtime
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/Makefile.kmk
r19919 r19920 1240 1240 r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp \ 1241 1241 r0drv/generic/RTMpOn-r0drv-generic.cpp \ 1242 r0drv/generic/RTThreadPreemptIsEnabled-r0drv-generic.cpp \1243 r0drv/generic/RTThreadPreemptIsPending-r0drv-generic.cpp \1244 r0drv/generic/RTThreadPreemptDisable-r0drv-generic.cpp \1245 r0drv/generic/RTThreadPreemptRestore-r0drv-generic.cpp \1246 1242 r0drv/generic/mpnotification-r0drv-generic.cpp \ 1247 1243 r0drv/memobj-r0drv.cpp \ -
trunk/src/VBox/Runtime/r0drv/os2/thread-r0drv-os2.cpp
r8245 r19920 74 74 } 75 75 76 77 RTDECL(bool) RTThreadPreemptIsEnabled(RTTHREAD hThread) 78 { 79 Assert(hThread == NIL_RTTHREAD); 80 return false; 81 } 82 83 84 RTDECL(bool) RTThreadPreemptIsPending(RTTHREAD hThread) 85 { 86 Assert(hThread == NIL_RTTHREAD); 87 88 union 89 { 90 RTFAR16 fp; 91 uint8_t fResched; 92 } u; 93 int rc = RTR0Os2DHQueryDOSVar(DHGETDOSV_YIELDFLAG, 0, &u.fp); 94 AssertReturn(rc == 0, false); 95 if (u.fResched) 96 return true; 97 98 /** @todo Check if DHGETDOSV_YIELDFLAG includes TCYIELDFLAG. */ 99 rc = RTR0Os2DHQueryDOSVar(DHGETDOSV_TCYIELDFLAG, 0, &u.fp); 100 AssertReturn(rc == 0, false); 101 if (u.fResched) 102 return true; 103 return false; 104 } 105 106 107 RTDECL(void) RTThreadPreemptDisable(PRTTHREADPREEMPTSTATE pState) 108 { 109 AssertPtr(pState); 110 Assert(pState->uchDummy != 42); 111 pState->uchDummy = 42; 112 /* Nothing to do here as OS/2 doesn't preempt kernel threads. */ 113 } 114 115 116 RTDECL(void) RTThreadPreemptRestore(PRTTHREADPREEMPTSTATE pState) 117 { 118 AssertPtr(pState); 119 Assert(pState->uchDummy == 42); 120 pState->uchDummy = 0; 121 } 122
Note:
See TracChangeset
for help on using the changeset viewer.