summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Mesnier <mesnier_p@ociweb.com>2013-04-03 14:22:41 +0000
committerPhil Mesnier <mesnier_p@ociweb.com>2013-04-03 14:22:41 +0000
commit2d188312d074465f2fae0719912b9b92a946a612 (patch)
tree77030419256c2ebfba14a09b0f430f040a25ffae
parentc4e590939ffb7a94a0f382ffd8b0f77a47cceda1 (diff)
downloadATCD-2d188312d074465f2fae0719912b9b92a946a612.tar.gz
Wed Apr 3 14:20:28 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com>
-rw-r--r--TAO/ChangeLog_Asynch_ImR10
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp8
-rwxr-xr-xTAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl31
3 files changed, 38 insertions, 11 deletions
diff --git a/TAO/ChangeLog_Asynch_ImR b/TAO/ChangeLog_Asynch_ImR
index e72a34f37ed..f6f8056ee4d 100644
--- a/TAO/ChangeLog_Asynch_ImR
+++ b/TAO/ChangeLog_Asynch_ImR
@@ -1,3 +1,13 @@
+Wed Apr 3 14:20:28 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp:
+
+ Fix how exceptions are handled when using the sync reponse handler.
+
+ * orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl:
+
+ Improve the quality of output when run in debug mode.
+
Tue Apr 2 23:13:50 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com>
* orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp:
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
index c5e21af13f4..6036d21b820 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
@@ -1394,7 +1394,6 @@ ImR_SyncResponseHandler::ImR_SyncResponseHandler (CORBA::ORB_ptr orb)
ImR_SyncResponseHandler::~ImR_SyncResponseHandler (void)
{
- delete excep_;
}
void
@@ -1406,7 +1405,7 @@ ImR_SyncResponseHandler::send_ior (const char *pior)
void
ImR_SyncResponseHandler::send_exception (CORBA::Exception *ex)
{
- this->excep_ = ex;
+ this->excep_ = ex->_tao_duplicate();
}
char *
@@ -1417,7 +1416,10 @@ ImR_SyncResponseHandler::wait_for_result (void)
this->orb_->perform_work ();
}
if (this->excep_ != 0)
- throw this->excep_;
+ {
+ TAO_AMH_DSI_Exception_Holder h(this->excep_);
+ h.raise_invoke ();
+ }
return this->result_._retn();
}
diff --git a/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl b/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl
index 73783d38303..e5868a6ffae 100755
--- a/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl
+++ b/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl
@@ -55,7 +55,7 @@ for(my $i = 0; $i <= $client_count; $i++) {
push (@cli, PerlACE::TestTarget::create_target (++$tgt_num)) || die "Create target $tgt_num failed\n";
}
-my $refstyle = "-ORBobjrefstyle URL";
+my $refstyle = ""; # "-ORBobjrefstyle URL";
my $obj_count = 1;
my $port = $imr->RandomPort();
@@ -64,6 +64,7 @@ my $forward_on_exception_arg = "-ORBForwardOnceOnTransient 1";
my $debug_arg = "-ORBDebugLevel $debug_level";
my $imr_debug_arg = "-ORBDebugLevel $imr_debug_level";
if ($imr_debug_level == 10) {
+ $debug_arg = "-ORBDebugLevel $debug_level -ORBVerboseLogging 1 -ORBLogFile";
$imr_debug_arg = $imr_debug_arg . " -ORBVerboseLogging 1 -ORBLogFile imr_loc.log ";
}
@@ -90,6 +91,8 @@ my @srvstatusfile;
my @srv_statusfile;
my @obj;
my @srv_server_cmd;
+my $debug_log_file = "";
+
# Have list indices match server IDs (S1, S2, S3) with first element of list not being used.
for(my $i = 0; $i <= $servers_count; $i++) {
push (@srv, PerlACE::TestTarget::create_target (++$tgt_num)) || die "Create target $tgt_num failed\n";
@@ -106,7 +109,10 @@ for(my $i = 0; $i <= $servers_count; $i++) {
}
for(my $i = 0; $i <= $client_count; $i++) {
- push (@CLI, $cli[$i]->CreateProcess ("client", "$debug_arg -k file://$srviorfile[1] -n $i $forward_on_exception_arg"));
+ if ($debug_level == 10) {
+ $debug_log_file = "test_client_$i" . ".log";
+ }
+ push (@CLI, $cli[$i]->CreateProcess ("client", "-k file://$srviorfile[1] -n $i $forward_on_exception_arg $debug_arg $debug_log_file"));
}
sub cleanup_output {
@@ -140,9 +146,12 @@ sub run_imr_util {
sub register_server_with_activator {
my $srv_id = shift;
my $srv_to_invoke_id = shift;
-
+ my $srv_debug_log = "";
+ if ($debug_level == 10) {
+ $srv_debug_log = "test_server_$srv_id" . ".log";
+ }
$srv_args =
- "$debug_arg -orbuseimr 1 $refstyle ".
+ "$debug_arg $srv_debug_log -orbuseimr 1 $refstyle ".
"$forward_on_exception_arg ".
"-ORBInitRef ImplRepoService=file://$imr_imriorfile -n $srv_id";
@@ -220,8 +229,11 @@ sub run_test
##### Start Activator #####
print_msg ("Start Activator");
-
- $ACT->Arguments ("$debug_arg -d 1 -o $act_actiorfile -ORBInitRef ImplRepoService=file://$act_imriorfile");
+ my $act_debug_log = "";
+ if ($debug_level == 10) {
+ $act_debug_log = "imr_act.log";
+ }
+ $ACT->Arguments ("$debug_arg $act_debug_log -d 1 -o $act_actiorfile -ORBInitRef ImplRepoService=file://$act_imriorfile");
print ">>> " . $ACT->CommandLine () . "\n";
$ACT_status = $ACT->Spawn ();
@@ -239,8 +251,11 @@ sub run_test
##### Start S3 #####
print_msg ("Start S3");
-
- $SRV[3]->Arguments ("$debug_arg -orbuseimr 1 $refstyle -ORBInitRef ImplRepoService=file://$imr_imriorfile ".
+ my $s3_debug_log = "";
+ if ($debug_level == 10) {
+ $s3_debug_log = "test_server_3.log";
+ }
+ $SRV[3]->Arguments ("$debug_arg $s3_debug_log -orbuseimr 1 $refstyle -ORBInitRef ImplRepoService=file://$imr_imriorfile ".
"-d $server_reply_delay -n 3");
print ">>> " . $SRV[3]->CommandLine () . "\n";
$SRV[3]-> Spawn();