diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp | 6 |
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, |