diff options
author | Angelo Corsaro <angelo@icorsaro.net> | 2001-02-09 00:30:17 +0000 |
---|---|---|
committer | Angelo Corsaro <angelo@icorsaro.net> | 2001-02-09 00:30:17 +0000 |
commit | ea50b73f101cdfe0ae5ad004eabefd79ce211191 (patch) | |
tree | 707610cdba462732222b8e9bfa392033a83da527 /TAO/tao/MProfile.cpp | |
parent | fb5db69cd2e7ffc8db9be24e605366a6827e636c (diff) | |
download | ATCD-ea50b73f101cdfe0ae5ad004eabefd79ce211191.tar.gz |
Thu Feb 08 18:15:59 2001 Angelo Corsaro <corsaro@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/MProfile.cpp')
-rw-r--r-- | TAO/tao/MProfile.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/TAO/tao/MProfile.cpp b/TAO/tao/MProfile.cpp index e5aad8bf0a9..ded3d8c4e99 100644 --- a/TAO/tao/MProfile.cpp +++ b/TAO/tao/MProfile.cpp @@ -220,18 +220,18 @@ TAO_MProfile::hash (CORBA::ULong max, CORBA::Environment &ACE_TRY_ENV) } void -TAO_MProfile::init_policy_list (void) +TAO_MProfile::init_policy_list (CORBA::Environment &ACE_TRY_ENV) { // The first time this method is called // it causes the initialization of the policies // for the current profile. - this->get_current_profile ()->policies (); + this->get_current_profile ()->policies (ACE_TRY_ENV); this->is_policy_list_initialized_ = 1; } CORBA::PolicyList* -TAO_MProfile::policy_list (void) +TAO_MProfile::policy_list (CORBA::Environment &ACE_TRY_ENV) { if (!this->is_policy_list_initialized_) { @@ -242,10 +242,18 @@ TAO_MProfile::policy_list (void) if (this->policy_list_ == 0) { - this->create_policy_list (); - this->init_policy_list (); + this->create_policy_list (ACE_TRY_ENV); + ACE_CHECK; + + this->init_policy_list (ACE_TRY_ENV); + ACE_CHECK; } } - - return this->policy_list_; + CORBA::PolicyList *ret_val = 0; + ACE_NEW_THROW_EX ( ret_val, + CORBA::PolicyList (*this->policy_list_), + CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE, + CORBA::COMPLETED_NO) + ); + return ret_val; } |