set client CPU affinity based on pcalt index

This commit is contained in:
Darren Ranalli 2008-02-11 22:13:13 +00:00
parent bacc0ce975
commit d82fefdab0
1 changed files with 10 additions and 2 deletions

View File

@ -279,12 +279,20 @@ class ShowBase(DirectObject.DirectObject):
# Now we can make the TaskManager start using the new globalClock.
taskMgr.globalClock = globalClock
# client CPU affinity is determined by, in order:
# - client-cpu-affinity-mask config
# - pcalt-# (# is CPU number, 0-based)
# - client-cpu-affinity config
affinityMask = self.config.GetInt('client-cpu-affinity-mask', -1)
if affinityMask != -1:
TrueClock.getGlobalPtr().setCpuAffinity(affinityMask)
else:
affinity = self.config.GetInt('client-cpu-affinity', -1)
if affinity != -1:
affinity = None
if 'clientIndex' in __builtin__.__dict__:
affinity = abs(int(__builtin__.clientIndex))
else:
affinity = self.config.GetInt('client-cpu-affinity', -1)
if affinity not in (None, -1):
TrueClock.getGlobalPtr().setCpuAffinity(1 << affinity)
__builtin__.base = self