瀏覽代碼

add forceYield(), considerYield() at this level too

David Rose 16 年之前
父節點
當前提交
f582d8f950
共有 2 個文件被更改,包括 12 次插入0 次删除
  1. 6 0
      direct/src/stdpy/thread.py
  2. 6 0
      direct/src/stdpy/threading.py

+ 6 - 0
direct/src/stdpy/thread.py

@@ -11,11 +11,17 @@ __all__ = [
     'interrupt_main',
     'exit', 'allocate_lock', 'get_ident',
     'stack_size',
+    'forceYield', 'considerYield',
     ]
 
 # Import PandaModules as pm, so we don't have any namespace collisions.
 from pandac import PandaModules as pm
 
+# These methods are defined in Panda, and are particularly useful if
+# you may be running in Panda's SIMPLE_THREADS compilation mode.
+forceYield = pm.Thread.forceYield
+considerYield = pm.Thread.considerYield
+
 class error(StandardError):
     pass
 

+ 6 - 0
direct/src/stdpy/threading.py

@@ -81,6 +81,12 @@ class ThreadBase:
         else:
             self.__dict__[key] = value
 
+# Copy these static methods from Panda's Thread object.  These are
+# useful if you may be running in Panda's SIMPLE_THREADS compilation
+# mode.
+ThreadBase.forceYield = pm.Thread.forceYield
+ThreadBase.considerYield = pm.Thread.considerYield
+
 class Thread(ThreadBase):
     """ This class provides a wrapper around Panda's PythonThread
     object.  The wrapper is designed to emulate Python's own