summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-01-23 06:20:07 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-01-23 06:20:07 +0000
commit88e3d5300d706d22ea30b583ee7b722cfff9293b (patch)
treefa1eae60e92944d073acd29cdd64bf57d4dd4115
parent7ed68735a60e16eb4f6404c64aff412f6c09c1f4 (diff)
downloadATCD-88e3d5300d706d22ea30b583ee7b722cfff9293b.tar.gz
*** empty log message ***
-rw-r--r--TAO/ChangeLog-98c2
-rw-r--r--TAO/tao/poa.cpp26
2 files changed, 18 insertions, 10 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index 595d8a78ea9..5c34de54173 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -3,7 +3,7 @@ Thu Jan 22 23:57:31 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu>
* tao/poa.cpp (wstring_to_ObjectId): Stuck the CORBA::WChar type
in parens for sizeof...g++ likes it better that way.
-Thu Jan 22 21:22:41 1998 Irfan Pyarali <irfan@cs.wustl.edu>
+Fri Jan 23 00:14:03 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* tao/poa:
diff --git a/TAO/tao/poa.cpp b/TAO/tao/poa.cpp
index ea5787b9a64..57015f5f4d1 100644
--- a/TAO/tao/poa.cpp
+++ b/TAO/tao/poa.cpp
@@ -1077,7 +1077,7 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects,
self.in (),
(*iterator).int_id_,
CORBA::B_TRUE,
- CORBA::B_FALSE,
+ CORBA::B_FALSE, // @@
env);
}
}
@@ -1468,14 +1468,22 @@ TAO_POA::deactivate_object_i (const PortableServer::ObjectId &oid,
PortableServer::POA_var self = this->_this (env);
if (env.exception () != 0)
return;
-
+
if (!CORBA::is_nil (this->servant_activator_.in ()))
- this->servant_activator_->etherealize (oid,
- self.in (),
- servant,
- 0,
- CORBA::B_FALSE,
- env);
+ {
+ CORBA::Boolean remaining_activations;
+ if (this->active_object_map ().find (servant) != -1)
+ remaining_activations = CORBA::B_TRUE;
+ else
+ remaining_activations = CORBA::B_FALSE;
+
+ this->servant_activator_->etherealize (oid,
+ self.in (),
+ servant,
+ CORBA::B_FALSE,
+ remaining_activations,
+ env);
+ }
}
CORBA::Object_ptr
@@ -1829,7 +1837,7 @@ TAO_POA::the_activator (CORBA::Environment &env)
{
ACE_UNUSED_ARG (env);
- return PortableServer::AdapterActivator::_duplicate (this->adapter_activator_);
+ return PortableServer::AdapterActivator::_duplicate (this->adapter_activator_.in ());
}
void