diff options
author | Phil Mesnier <mesnierp@ociweb.com> | 2016-03-03 16:55:46 -0600 |
---|---|---|
committer | Phil Mesnier <mesnierp@ociweb.com> | 2016-03-04 10:14:59 -0600 |
commit | f68ad1ebb25927d2b6650091f3bc23ae6888a495 (patch) | |
tree | 002a02dc67f6bed1fec3a1e8b3d8ab35538097b9 /TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp | |
parent | 80f4315eb1314ccdc47052f07c882a45a60fa10b (diff) | |
download | ATCD-f68ad1ebb25927d2b6650091f3bc23ae6888a495.tar.gz |
Bring over recent fixes and enhancements to the FaultTolerant / LoadBalancing naming service extension from OCI's TAO release.
Fixes deadlocks that could occur as a result of file access errors, such as the transient "bad file decriptor" (ebadf) error that seems to pop up fairly regularly
when using NFS. Also optimized the file locking strategy to not always setting to MODIFY access state, which then required a file update on every access
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp index d68c41bbaef..18b25ceb638 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp @@ -502,7 +502,7 @@ TAO::PG_Object_Group::increment_version (void) if (TAO_debug_level > 3) { ORBSVCS_DEBUG ((LM_DEBUG, - ACE_TEXT ("%T %n (%P|%t) - Setting IOGR version to %u\n"), + ACE_TEXT ("TAO (%P|%t) PG_Object_Group::increment_version now %u\n"), static_cast<unsigned> (this->tagged_component_.object_group_ref_version) )); } @@ -868,7 +868,7 @@ TAO::PG_Object_Group::initial_populate (void) PortableGroup::InitialNumberMembersValue initial_number_members = this->get_initial_number_members (); - if (((PortableGroup::InitialNumberMembersValue)this->members_.current_size ()) < initial_number_members) + if (this->members_.current_size () < initial_number_members) { this->create_members (initial_number_members); } @@ -880,11 +880,11 @@ TAO::PG_Object_Group::minimum_populate (void) { ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - if ( this->get_membership_style () == PortableGroup::MEMB_INF_CTRL) + if ( this->get_membership_style () == PortableGroup::MEMB_INF_CTRL ) { PortableGroup::MinimumNumberMembersValue minimum_number_members = this->get_minimum_number_members (); - if (((PortableGroup::InitialNumberMembersValue)members_.current_size ()) < minimum_number_members) + if (members_.current_size () < minimum_number_members) { this->create_members (minimum_number_members); } @@ -932,4 +932,3 @@ TAO::PG_Object_Group::clear_members_map (void) } TAO_END_VERSIONED_NAMESPACE_DECL - |