Changeset 37154 in vbox for trunk/src/VBox/Runtime
- Timestamp:
- May 19, 2011 12:54:32 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 71834
- Location:
- trunk/src/VBox/Runtime
- Files:
-
- 4 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/Makefile.kmk
r37024 r37154 527 527 generic/RTSemMutexRequest-generic.cpp \ 528 528 generic/RTSemMutexRequestDebug-generic.cpp \ 529 generic/RTThreadSetAffinityToCpu-generic.cpp \ 529 530 generic/mppresent-generic.cpp \ 530 531 generic/semrw-$(if-expr defined(VBOX_WITH_LOCKLESS_SEMRW),lockless-,)generic.cpp \ … … 581 582 generic/RTTimeLocalNow-generic.cpp \ 582 583 generic/RTTimerCreate-generic.cpp \ 584 generic/RTThreadGetAffinity-stub-generic.cpp \ 585 generic/RTThreadSetAffinity-stub-generic.cpp \ 586 generic/RTThreadSetAffinityToCpu-generic.cpp \ 583 587 generic/RTUuidCreate-generic.cpp \ 584 588 generic/mppresent-generic.cpp \ … … 660 664 generic/RTTimeLocalNow-generic.cpp \ 661 665 generic/RTTimerCreate-generic.cpp \ 666 generic/RTThreadSetAffinityToCpu-generic.cpp \ 662 667 generic/RTUuidCreate-generic.cpp \ 663 668 generic/mppresent-generic.cpp \ … … 720 725 generic/RTLogWriteDebugger-generic.cpp \ 721 726 generic/RTProcDaemonize-generic.cpp \ 727 generic/RTThreadGetAffinity-stub-generic.cpp \ 728 generic/RTThreadSetAffinity-stub-generic.cpp \ 729 generic/RTThreadSetAffinityToCpu-generic.cpp \ 722 730 generic/RTTimeLocalNow-generic.cpp \ 723 731 generic/RTTimerCreate-generic.cpp \ … … 781 789 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \ 782 790 generic/RTSystemQueryDmiString-generic.cpp \ 791 generic/RTThreadGetAffinity-stub-generic.cpp \ 792 generic/RTThreadSetAffinity-stub-generic.cpp \ 793 generic/RTThreadSetAffinityToCpu-generic.cpp \ 783 794 generic/RTTimeLocalNow-generic.cpp \ 784 795 generic/RTTimerCreate-generic.cpp \ … … 842 853 generic/RTSemEventMultiWait-2-ex-generic.cpp \ 843 854 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \ 855 generic/RTThreadSetAffinityToCpu-generic.cpp \ 844 856 generic/RTTimeLocalNow-generic.cpp \ 845 857 generic/RTTimerCreate-generic.cpp \ … … 888 900 r3/posix/utf8-posix.cpp \ 889 901 r3/solaris/mp-solaris.cpp \ 890 r3/solaris/rtProcInitExePath-solaris.cpp 902 r3/solaris/rtProcInitExePath-solaris.cpp \ 903 r3/solaris/thread-affinity-solaris.cpp 891 904 RuntimeR3_SOURCES.solaris.amd64 = \ 892 905 r3/solaris/coredumper-solaris.cpp \ … … 925 938 generic/RTSystemQueryOSInfo-generic.cpp \ 926 939 generic/RTSystemQueryDmiString-generic.cpp \ 940 generic/RTThreadGetAffinity-stub-generic.cpp \ 941 generic/RTThreadSetAffinity-stub-generic.cpp \ 942 generic/RTThreadSetAffinityToCpu-generic.cpp \ 927 943 generic/RTTimeLocalNow-generic.cpp \ 928 944 generic/RTUuidCreate-generic.cpp \ -
trunk/src/VBox/Runtime/r3/os2/thread-os2.cpp
r36555 r37154 199 199 200 200 201 RTDECL(uint64_t) RTThreadGetAffinity(void) 201 RTR3DECL(int) RTThreadGetAffinity(PRTCPUSET pCpuSet) 202 { 203 return VINF_SUCCESS; 204 } 205 206 RTR3DECL(int) RTThreadGetAffinity(PRTCPUSET pCpuSet) 202 207 { 203 208 union … … 207 212 } u; 208 213 209 int rc = DosQueryThreadAffinity(AFNTY_THREAD, &u.mpaff); 210 if (rc) 211 u.u64 = 1; 212 return u.u64; 213 } 214 215 216 RTDECL(int) RTThreadSetAffinity(uint64_t u64Mask) 214 APIRET rc = DosQueryThreadAffinity(AFNTY_THREAD, &u.mpaff); 215 if (!rc) 216 { 217 RTCpuSetFromU64(pCpuSet, u.u64); 218 return VINF_SUCCESS; 219 } 220 return RTErrConvertFromOS2(rc); 221 } 222 223 224 RTR3DECL(int) RTThreadSetAffinity(PCRTCPUSET pCpuSet) 217 225 { 218 226 union … … 221 229 MPAFFINITY mpaff; 222 230 } u; 223 u.u64 = u64Mask;231 u.u64 = pCpuSet ? RTCpuSetToU64(pCpuSet) : UINT64_MAX; 224 232 int rc = DosSetThreadAffinity(&u.mpaff); 225 233 if (!rc) -
trunk/src/VBox/Runtime/r3/posix/thread-posix.cpp
r36912 r37154 384 384 385 385 386 RTR3DECL(uint64_t) RTThreadGetAffinity(void)387 {388 return 1;389 }390 391 392 RTR3DECL(int) RTThreadSetAffinity(uint64_t u64Mask)393 {394 if (u64Mask != 1)395 return VERR_INVALID_PARAMETER;396 return VINF_SUCCESS;397 }398 399 400 386 #ifdef RTTHREAD_POSIX_WITH_POKE 401 387 RTDECL(int) RTThreadPoke(RTTHREAD hThread) -
trunk/src/VBox/Runtime/r3/win/thread-win.cpp
r36555 r37154 281 281 282 282 283 RTR3DECL(int) RTThreadSetAffinity( uint64_t u64Mask)284 { 285 Assert((DWORD_PTR)u64Mask == u64Mask || u64Mask == ~(uint64_t)0);286 DWORD_PTR dwRet = SetThreadAffinityMask(GetCurrentThread(), (DWORD_PTR)u64Mask);283 RTR3DECL(int) RTThreadSetAffinity(PCRTCPUSET pCpuSet) 284 { 285 DWORD_PTR fNewMask = pCpuSet ? RTCpuSetToU64(pCpuSet) : ~(DWORD_PTR)0; 286 DWORD_PTR dwRet = SetThreadAffinityMask(GetCurrentThread(), fNewMask); 287 287 if (dwRet) 288 288 return VINF_SUCCESS; … … 294 294 295 295 296 RTR3DECL( uint64_t) RTThreadGetAffinity(void)296 RTR3DECL(int) RTThreadGetAffinity(PRTCPUSET pCpuSet) 297 297 { 298 298 /* … … 309 309 DWORD_PTR dwSet = SetThreadAffinityMask(hThread, dwRet); 310 310 Assert(dwSet == dwProcAff); NOREF(dwRet); 311 return dwRet; 311 312 RTCpuSetFromU64(pCpuSet, (uint64_t)dwSet); 313 return VINF_SUCCESS; 312 314 } 313 315 }
Note:
See TracChangeset
for help on using the changeset viewer.