mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 16:58:40 -04:00
stdpy: recognize daemon=True argument in Thread constructor
This commit is contained in:
parent
5eb40b9061
commit
2f31c9ce68
@ -87,7 +87,7 @@ class Thread(ThreadBase):
|
|||||||
object. The wrapper is designed to emulate Python's own
|
object. The wrapper is designed to emulate Python's own
|
||||||
threading.Thread object. """
|
threading.Thread object. """
|
||||||
|
|
||||||
def __init__(self, group=None, target=None, name=None, args=(), kwargs={}):
|
def __init__(self, group=None, target=None, name=None, args=(), kwargs={}, daemon=None):
|
||||||
ThreadBase.__init__(self)
|
ThreadBase.__init__(self)
|
||||||
|
|
||||||
assert group is None
|
assert group is None
|
||||||
@ -99,7 +99,10 @@ class Thread(ThreadBase):
|
|||||||
name = _newname()
|
name = _newname()
|
||||||
|
|
||||||
current = current_thread()
|
current = current_thread()
|
||||||
self.__dict__['daemon'] = current.daemon
|
if daemon is not None:
|
||||||
|
self.__dict__['daemon'] = daemon
|
||||||
|
else:
|
||||||
|
self.__dict__['daemon'] = current.daemon
|
||||||
self.__dict__['name'] = name
|
self.__dict__['name'] = name
|
||||||
|
|
||||||
def call_run():
|
def call_run():
|
||||||
|
@ -396,7 +396,7 @@ class Thread(_Verbose):
|
|||||||
__exc_info = _sys.exc_info
|
__exc_info = _sys.exc_info
|
||||||
|
|
||||||
def __init__(self, group=None, target=None, name=None,
|
def __init__(self, group=None, target=None, name=None,
|
||||||
args=(), kwargs=None, verbose=None):
|
args=(), kwargs=None, verbose=None, daemon=None):
|
||||||
assert group is None, "group argument must be None for now"
|
assert group is None, "group argument must be None for now"
|
||||||
_Verbose.__init__(self, verbose)
|
_Verbose.__init__(self, verbose)
|
||||||
if kwargs is None:
|
if kwargs is None:
|
||||||
@ -405,7 +405,10 @@ class Thread(_Verbose):
|
|||||||
self.__name = str(name or _newname())
|
self.__name = str(name or _newname())
|
||||||
self.__args = args
|
self.__args = args
|
||||||
self.__kwargs = kwargs
|
self.__kwargs = kwargs
|
||||||
self.__daemonic = self._set_daemon()
|
if daemon is not None:
|
||||||
|
self.__daemonic = daemon
|
||||||
|
else:
|
||||||
|
self.__daemonic = self._set_daemon()
|
||||||
self.__started = False
|
self.__started = False
|
||||||
self.__stopped = False
|
self.__stopped = False
|
||||||
self.__block = Condition(Lock())
|
self.__block = Condition(Lock())
|
||||||
@ -670,7 +673,7 @@ class _MainThread(Thread):
|
|||||||
class _DummyThread(Thread):
|
class _DummyThread(Thread):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
Thread.__init__(self, name=_newname("Dummy-%d"))
|
Thread.__init__(self, name=_newname("Dummy-%d"), daemon=True)
|
||||||
|
|
||||||
# Thread.__block consumes an OS-level locking primitive, which
|
# Thread.__block consumes an OS-level locking primitive, which
|
||||||
# can never be used by a _DummyThread. Since a _DummyThread
|
# can never be used by a _DummyThread. Since a _DummyThread
|
||||||
|
Loading…
x
Reference in New Issue
Block a user