summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp
index e6f357901c3..8ca6c1f211b 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp
@@ -88,6 +88,10 @@ TAO_Notify_Filter_i::add_constraints_i (
for (u_int i = 0; i < index; i++) // those from previous iterations.
{
+ // Put the id back to the pool.
+ constraint_expr_ids_.
+ put (constraint_info_seq[index].constraint_id);
+
// Unbind from the Hash Table
if (constraint_expr_list_.unbind
(constraint_info_seq[index].constraint_id,
@@ -135,6 +139,8 @@ TAO_Notify_Filter_i::add_constraints (
// Get an id.
(*infoseq)[pop_index].constraint_id = constraint_expr_ids_.get ();
+ // <add_constraints_i> will put the ids back to the id pool if things
+ // go wrong.
}
this->add_constraints_i (*infoseq,