Changeset 37154 in vbox for trunk/src/VBox/Runtime/r3
- Timestamp:
- May 19, 2011 12:54:32 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 71834
- Location:
- trunk/src/VBox/Runtime/r3
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
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.