summaryrefslogtreecommitdiffstats
path: root/Lib/threading.py
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2013-03-30 21:19:38 (GMT)
committerR David Murray <rdmurray@bitdance.com>2013-03-30 21:19:38 (GMT)
commit19aeb439c6ca0da540ad95eec599d3654babe20b (patch)
tree1c074a911bbd6f8b6e652ca100add42fc0d7afe6 /Lib/threading.py
parent8028a5cf15753c283b7308a32ecc4651db33c6c9 (diff)
downloadcpython-19aeb439c6ca0da540ad95eec599d3654babe20b.zip
cpython-19aeb439c6ca0da540ad95eec599d3654babe20b.tar.gz
cpython-19aeb439c6ca0da540ad95eec599d3654babe20b.tar.bz2
Issue #17435: Don't use mutable default values in Timer.
Patch by Denver Coneybeare with some test modifications by me.
Diffstat (limited to 'Lib/threading.py')
-rw-r--r--Lib/threading.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/Lib/threading.py b/Lib/threading.py
index 6c34d49..46df676 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -802,17 +802,17 @@ class Thread:
class Timer(Thread):
"""Call a function after a specified number of seconds:
- t = Timer(30.0, f, args=[], kwargs={})
+ t = Timer(30.0, f, args=None, kwargs=None)
t.start()
t.cancel() # stop the timer's action if it's still waiting
"""
- def __init__(self, interval, function, args=[], kwargs={}):
+ def __init__(self, interval, function, args=None, kwargs=None):
Thread.__init__(self)
self.interval = interval
self.function = function
- self.args = args
- self.kwargs = kwargs
+ self.args = args if args is not None else []
+ self.kwargs = kwargs if kwargs is not None else {}
self.finished = Event()
def cancel(self):