Commit 000da166 authored by Tres Seaver's avatar Tres Seaver

Avoid possible race if bogus observer unregisters after raising exception

parent c75f735c
...@@ -87,9 +87,9 @@ http://www.zope.org/Members/michel/Projects/Interfaces/ObserverAndNotification) ...@@ -87,9 +87,9 @@ http://www.zope.org/Members/michel/Projects/Interfaces/ObserverAndNotification)
This class is intended to be used as a mixin (note that it doesn't derive This class is intended to be used as a mixin (note that it doesn't derive
from any Zope persistence classes, for instance). from any Zope persistence classes, for instance).
$Id: DefaultObservable.py,v 1.1 2000/06/09 16:46:37 tseaver Exp $""" $Id: DefaultObservable.py,v 1.2 2000/06/11 19:08:35 tseaver Exp $"""
__version__='$Revision: 1.1 $'[11:-2] __version__='$Revision: 1.2 $'[11:-2]
import string import string
from types import StringType from types import StringType
...@@ -146,7 +146,10 @@ class DefaultObservable: ...@@ -146,7 +146,10 @@ class DefaultObservable:
bozos.append( observer ) bozos.append( observer )
for bozo in bozos: for bozo in bozos:
self._observers.remove( bozo ) try: # avoid race condition if unregister() called before now
self._observers.remove( bozo )
except:
pass
# #
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment