summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ChangeLogs/ChangeLog-03a7
-rw-r--r--ace/Future.cpp4
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);
}