diff options
| author | Adam Chainz <me@adamj.eu> | 2016-11-22 14:30:14 +0000 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-11-22 09:30:14 -0500 |
| commit | 22a60f8d0b331bf06c066ccba4eea5bb5e4ac9f2 (patch) | |
| tree | 4c65205d4d715b253cdf9b114a8092d18d46089b /django/dispatch | |
| parent | c70ffeeb8b70b42693a340724f00eba656c6e51a (diff) | |
| download | django-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.py | 15 |
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) |
