summaryrefslogtreecommitdiff
path: root/TAO/tao/Policy_Validator.cpp
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2002-04-06 18:26:12 +0000
committerbala <balanatarajan@users.noreply.github.com>2002-04-06 18:26:12 +0000
commit389347ec368f4410522b922806b74acd272c5191 (patch)
treea8ad5a507e8724099384bfd8457a0fe81b63dc1a /TAO/tao/Policy_Validator.cpp
parent10ff971107b7a21e1a041377e8d4effa450c7636 (diff)
downloadATCD-389347ec368f4410522b922806b74acd272c5191.tar.gz
ChangeLogTag: Sat Apr 6 12:10:22 2002 Balachandran Natarajan <bala@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Policy_Validator.cpp')
-rw-r--r--TAO/tao/Policy_Validator.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/TAO/tao/Policy_Validator.cpp b/TAO/tao/Policy_Validator.cpp
index 87d6e087573..b37533e4c20 100644
--- a/TAO/tao/Policy_Validator.cpp
+++ b/TAO/tao/Policy_Validator.cpp
@@ -24,9 +24,24 @@ void
TAO_Policy_Validator::add_validator (TAO_Policy_Validator *validator)
{
if (this->last_ == 0)
- this->last_ = this->next_ = validator;
+ {
+ this->last_ = this->next_ = validator;
+ }
else
- this->last_ = this->last_->next_ = validator;
+ {
+ if (this->last_ == validator)
+ {
+ if (TAO_debug_level > 3)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_LIB_TEXT ("(%P|%t) Skipping validator [0x%x] ")
+ ACE_LIB_TEXT ("since it would create a circular list \n"),
+ validator));
+
+ return;
+ }
+ this->last_ = this->last_->next_ = validator;
+
+ }
}