summaryrefslogtreecommitdiff
path: root/django/dispatch
diff options
context:
space:
mode:
authorAdam Chainz <me@adamj.eu>2016-11-22 14:30:14 +0000
committerTim Graham <timograham@gmail.com>2016-11-22 09:30:14 -0500
commit22a60f8d0b331bf06c066ccba4eea5bb5e4ac9f2 (patch)
tree4c65205d4d715b253cdf9b114a8092d18d46089b /django/dispatch
parentc70ffeeb8b70b42693a340724f00eba656c6e51a (diff)
downloaddjango-22a60f8d0b331bf06c066ccba4eea5bb5e4ac9f2.tar.gz
Fixed #27513 -- Made Signal.send()/send_robust() a tiny bit faster.
Diffstat (limited to 'django/dispatch')
-rw-r--r--django/dispatch/dispatcher.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/django/dispatch/dispatcher.py b/django/dispatch/dispatcher.py
index 8b26c39055..742acd198b 100644
--- a/django/dispatch/dispatcher.py
+++ b/django/dispatch/dispatcher.py
@@ -185,14 +185,13 @@ class Signal(object):
Returns a list of tuple pairs [(receiver, response), ... ].
"""
- responses = []
if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:
- return responses
+ return []
- for receiver in self._live_receivers(sender):
- response = receiver(signal=self, sender=sender, **named)
- responses.append((receiver, response))
- return responses
+ return [
+ (receiver, receiver(signal=self, sender=sender, **named))
+ for receiver in self._live_receivers(sender)
+ ]
def send_robust(self, sender, **named):
"""
@@ -218,12 +217,12 @@ class Signal(object):
receiver. The traceback is always attached to the error at
``__traceback__``.
"""
- responses = []
if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:
- return responses
+ return []
# Call each receiver with whatever arguments it can accept.
# Return a list of tuple pairs [(receiver, response), ... ].
+ responses = []
for receiver in self._live_receivers(sender):
try:
response = receiver(signal=self, sender=sender, **named)