Browse Source

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

David Rose 16 years ago
parent
commit
f582d8f950
2 changed files with 12 additions and 0 deletions
  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',
     'interrupt_main',
     'exit', 'allocate_lock', 'get_ident',
     'exit', 'allocate_lock', 'get_ident',
     'stack_size',
     'stack_size',
+    'forceYield', 'considerYield',
     ]
     ]
 
 
 # Import PandaModules as pm, so we don't have any namespace collisions.
 # Import PandaModules as pm, so we don't have any namespace collisions.
 from pandac import PandaModules as pm
 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):
 class error(StandardError):
     pass
     pass
 
 

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

@@ -81,6 +81,12 @@ class ThreadBase:
         else:
         else:
             self.__dict__[key] = value
             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):
 class Thread(ThreadBase):
     """ This class provides a wrapper around Panda's PythonThread
     """ This class provides a wrapper around Panda's PythonThread
     object.  The wrapper is designed to emulate Python's own
     object.  The wrapper is designed to emulate Python's own