summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-05-14 17:44:55 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-05-14 17:44:55 +0000
commitabf344cf5346169515e3585203511ea324794ab6 (patch)
tree57b1aaea784ca040e6195e4abd0a673b71463e96
parent879faef4d517698250a8ab24f4e4d9f6aca65b17 (diff)
downloadATCD-abf344cf5346169515e3585203511ea324794ab6.tar.gz
ChangeLogTag:Wed May 14 12:46:34 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog5
-rw-r--r--TAO/tao/ObjectKey_Table.cpp6
2 files changed, 7 insertions, 4 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index c16d8906b9d..b3ee3f080ae 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,8 @@
+Wed May 14 12:46:34 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/ObjectKey_Table.cpp (destroy): Iterating conditions while
+ destroying was wrong which lead to crashes.
+
Tue May 13 15:38:29 2003 Ossama Othman <ossama@dre.vanderbilt.edu>
* tao/ORB_Core.cpp (destroy_interceptors):
diff --git a/TAO/tao/ObjectKey_Table.cpp b/TAO/tao/ObjectKey_Table.cpp
index 7013bc4e620..6c049a8397e 100644
--- a/TAO/tao/ObjectKey_Table.cpp
+++ b/TAO/tao/ObjectKey_Table.cpp
@@ -112,15 +112,13 @@ TAO::ObjectKey_Table::destroy (void)
0);
TABLE::ITERATOR end_iter = this->table_.end ();
+ TABLE::ITERATOR start;
- for (TABLE::ITERATOR start = this->table_.begin ();
- start != end_iter;
- ++start)
+ while ((start = this->table_.begin ()) != end_iter)
{
TABLE::ENTRY &ent = (*start);
(void) ent.item ()->decr_refcount ();
-
this->table_.unbind (&ent);
}
}