summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-07-01 15:46:23 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-07-01 15:46:23 +0000
commit34a97a5b1a079ac17b821ee8ebd4220a2c2e5c77 (patch)
tree1cb22906302b138fa8f5859f0e418e04831210d2
parent3ccf6484cd0ae3b01c88a023cd49721dd0c789a1 (diff)
downloadATCD-34a97a5b1a079ac17b821ee8ebd4220a2c2e5c77.tar.gz
ChangeLogTag:Thu Jul 1 10:45:24 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
-rw-r--r--TAO/ChangeLog-99c13
-rw-r--r--TAO/orbsvcs/Trading_Service/Trading_Service.cpp13
-rw-r--r--TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp26
-rwxr-xr-xTAO/orbsvcs/tests/Trading/run_test.pl5
4 files changed, 40 insertions, 17 deletions
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c
index d71764dea70..aa4e2d98b16 100644
--- a/TAO/ChangeLog-99c
+++ b/TAO/ChangeLog-99c
@@ -1,3 +1,16 @@
+Thu Jul 1 10:45:24 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * orbsvcs/tests/Trading/run_test.pl:
+ The export_test must be shutdown using a signal, it does not
+ exit on its own.
+
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp:
+ There was an error in the logic of the program, probably
+ introduced in the hectic activity to get exceptions to work.
+
+ * orbsvcs/Trading_Service/Trading_Service.cpp:
+ The POA manager was not activated
+
Thu Jul 01 00:45:00 1999 Chris Gill <cdgill@cs.wustl.edu>
* examples/Simulator/DOVEMIB/AnyAnalyser.cpp
diff --git a/TAO/orbsvcs/Trading_Service/Trading_Service.cpp b/TAO/orbsvcs/Trading_Service/Trading_Service.cpp
index a64ee6111c7..2baf5dda8b4 100644
--- a/TAO/orbsvcs/Trading_Service/Trading_Service.cpp
+++ b/TAO/orbsvcs/Trading_Service/Trading_Service.cpp
@@ -74,6 +74,9 @@ Trading_Service::init (int argc, char* argv[], CORBA::Environment &ACE_TRY_ENV)
CORBA::ORB_ptr orb = this->orb_manager_.orb ();
+ this->orb_manager_.activate_poa_manager (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
// Create a Trader Object and set its Service Type Repository.
auto_ptr<TAO_Trader_Factory::TAO_TRADER> auto_trader (TAO_Trader_Factory::create_trader (argc, argv));
this->trader_ = auto_trader;
@@ -288,22 +291,22 @@ Trading_Service::shutdown (void)
CosTrading::Link::LinkInfo_var link_info =
our_link->describe_link (link_name_seq[i], ACE_TRY_ENV);
ACE_TRY_CHECK;
-
+
ACE_DEBUG ((LM_DEBUG, "*** Removing link to %s.\n",
ACE_static_cast (const char*, link_name_seq[i])));
our_link->remove_link (link_name_seq[i], ACE_TRY_ENV);
ACE_TRY_CHECK;
-
+
CosTrading::Lookup_ptr remote_lookup;
remote_lookup = link_info->target.in ();
-
+
ACE_DEBUG ((LM_DEBUG, "*** Retrieving its link interface.\n"));
CosTrading::Link_var remote_link =
remote_lookup->link_if (ACE_TRY_ENV);
ACE_TRY_CHECK;
-
+
ACE_DEBUG ((LM_DEBUG, "*** Removing its link to us.\n"));
-
+
if (this->bootstrapper_)
remote_link->remove_link ("Bootstrap", ACE_TRY_ENV);
else
diff --git a/TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp b/TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp
index 721d521bfb8..332624a3ee4 100644
--- a/TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp
+++ b/TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp
@@ -1252,18 +1252,24 @@ validate_properties (const char* type,
CosTradingRepos::ServiceTypeRepository::PROP_MANDATORY)
ACE_THROW (CosTrading::MissingMandatoryProperty (type, prop_name));
}
- int check = (! prop_type->equal (prop_struct.value_type.in (), ACE_TRY_ENV));
- ACE_CHECK;
- if (check)
+ else
{
- // Offer cannot redefine the type of an property.
- const CosTrading::Property* prop = prop_eval.get_property (prop_name);
- ACE_THROW (CosTrading::PropertyTypeMismatch (type, *prop));
+ int check =
+ (! prop_type->equal (prop_struct.value_type.in (),
+ ACE_TRY_ENV));
+ ACE_CHECK;
+ if (check)
+ {
+ // Offer cannot redefine the type of an property.
+ const CosTrading::Property* prop =
+ prop_eval.get_property (prop_name);
+ ACE_THROW (CosTrading::PropertyTypeMismatch (type, *prop));
+ }
+ else if (prop_struct.mode ==
+ CosTradingRepos::ServiceTypeRepository::PROP_READONLY &&
+ prop_eval.is_dynamic_property (prop_name))
+ ACE_THROW (CosTrading::ReadonlyDynamicProperty (type, prop_name));
}
- else if (prop_struct.mode ==
- CosTradingRepos::ServiceTypeRepository::PROP_READONLY &&
- prop_eval.is_dynamic_property (prop_name))
- ACE_THROW (CosTrading::ReadonlyDynamicProperty (type, prop_name));
}
}
diff --git a/TAO/orbsvcs/tests/Trading/run_test.pl b/TAO/orbsvcs/tests/Trading/run_test.pl
index d7af3fc0d5f..e520d88327a 100755
--- a/TAO/orbsvcs/tests/Trading/run_test.pl
+++ b/TAO/orbsvcs/tests/Trading/run_test.pl
@@ -31,7 +31,7 @@ $E = Process::Create ($EXEPREFIX."export_test".$EXE_EXT,
sleep $sleeptime;
$I = Process::Create ($EXEPREFIX."import_test".$EXE_EXT,
- "-ORBNameServiceIOR file://$ior");
+ "-ORBTradingServiceIOR file://$ior");
if ($I->TimedWait (60) == -1) {
$status = 1;
@@ -39,7 +39,8 @@ if ($I->TimedWait (60) == -1) {
$I->Kill (); $I->TimedWait (1);
}
-if ($E->TimedWait (60) == -1) {
+$E->Terminate ();
+if ($E->TimedWait (15) == -1) {
$status =1;
print STDERR "ERROR: export test timedout\n";
$E->Kill (); $E->TimedWait (1);