diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 7 | ||||
-rw-r--r-- | ace/Future.cpp | 4 |
3 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index a4ef87d18f1..e95a32fd8ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Aug 29 06:12:56 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * ace/Future.cpp (set): Fixed the loop code so it's possible for + the observer object to be deleted or detached in its update() + operation. Thanks to Tomer Amiaz <Tomer@bandwiz.com> for this + fix. + Thu Aug 29 09:40:20 2002 Nanbor Wang <nanbor@cs.wustl.edu> * ACEXML/common/Transcode.h: diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index a4ef87d18f1..e95a32fd8ba 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,3 +1,10 @@ +Thu Aug 29 06:12:56 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * ace/Future.cpp (set): Fixed the loop code so it's possible for + the observer object to be deleted or detached in its update() + operation. Thanks to Tomer Amiaz <Tomer@bandwiz.com> for this + fix. + Thu Aug 29 09:40:20 2002 Nanbor Wang <nanbor@cs.wustl.edu> * ACEXML/common/Transcode.h: diff --git a/ace/Future.cpp b/ace/Future.cpp index d0c263ee473..3facf8fbcf1 100644 --- a/ace/Future.cpp +++ b/ace/Future.cpp @@ -184,9 +184,9 @@ ACE_Future_Rep<T>::set (const T &r, for (; iterator != end; - ++iterator) + iterator) { - OBSERVER *observer = *iterator; + OBSERVER *observer = *iterator++; observer->update (caller); } |