Author: Honza_Kral Date: 2010-11-21 11:35:48 -0600 (Sun, 21 Nov 2010) New Revision: 14669
Modified: django/branches/releases/1.2.X/django/dispatch/dispatcher.py Log: [1.2.X] Preventing problems possibly introduced by r14662 acquire a lock before entering a try block that ends with the lock's release. Thanks for the catch Alex. Backport of r14668 from trunk. Modified: django/branches/releases/1.2.X/django/dispatch/dispatcher.py =================================================================== --- django/branches/releases/1.2.X/django/dispatch/dispatcher.py 2010-11-21 17:34:21 UTC (rev 14668) +++ django/branches/releases/1.2.X/django/dispatch/dispatcher.py 2010-11-21 17:35:48 UTC (rev 14669) @@ -99,8 +99,8 @@ if weak: receiver = saferef.safeRef(receiver, onDelete=self._remove_receiver) + self.lock.acquire() try: - self.lock.acquire() for r_key, _ in self.receivers: if r_key == lookup_key: break @@ -136,8 +136,8 @@ else: lookup_key = (_make_id(receiver), _make_id(sender)) + self.lock.acquire() try: - self.lock.acquire() for index in xrange(len(self.receivers)): (r_key, _) = self.receivers[index] if r_key == lookup_key: @@ -237,8 +237,8 @@ Remove dead receivers from connections. """ + self.lock.acquire() try: - self.lock.acquire() to_remove = [] for key, connected_receiver in self.receivers: if connected_receiver == receiver: -- You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-upda...@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.