summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2000-04-29 17:56:27 +0000
committerbala <balanatarajan@users.noreply.github.com>2000-04-29 17:56:27 +0000
commitc886c65ff9da0255b2621fc8c9bc18fd97375d74 (patch)
treecabc5e4bb0ada6ed59594bc05e98d5de9260a21b /TAO
parent3216e37d2b69c6751eb7888c4c699241affab97e (diff)
downloadATCD-c886c65ff9da0255b2621fc8c9bc18fd97375d74.tar.gz
ChangeLogTag: Sat Apr 29 12:53:26 2000 Balachandran Natarajan <bala@cs.wustl.edu>
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a7
-rw-r--r--TAO/tao/Invocation.cpp43
-rw-r--r--TAO/tao/Makefile.am17
-rw-r--r--TAO/tao/Makefile.bor1
4 files changed, 66 insertions, 2 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index db78d14f6ce..3a042e441c4 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,10 @@
+Sat Apr 29 12:53:26 2000 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tao/Makefile.am:
+ * tao/Makefile.bor: Added files
+ * tao/Invocation.cpp: Made some fixes to the changes that I made
+ yesterday.
+
Sat Apr 29 03:10:01 2000 Nanbor Wang <nanbor@cs.wustl.edu>
* TAO_IDL/be/be_interface.cpp (gen_skel_helper): Changed some
diff --git a/TAO/tao/Invocation.cpp b/TAO/tao/Invocation.cpp
index ec4d61fec52..f5a784e9a29 100644
--- a/TAO/tao/Invocation.cpp
+++ b/TAO/tao/Invocation.cpp
@@ -1373,6 +1373,49 @@ TAO_GIOP_Locate_Request_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV)
// support from MProfiles ...)
return TAO_INVOKE_RESTART;
// NOTREACHED
+ case TAO_GIOP_LOC_SYSTEM_EXCEPTION:
+ {
+ // What else do we do??
+ // Pull the exception from the stream.
+ CORBA::String_var buf;
+
+ if ((this->rd_.reply_cdr () >> buf.inout ()) == 0)
+ {
+ // Could not demarshal the exception id, raise an local
+ // CORBA::MARSHAL
+ ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE,
+ CORBA::COMPLETED_MAYBE),
+ TAO_INVOKE_EXCEPTION);
+ }
+
+ // This kind of exception shouldn't happen with oneways,
+ // but if it does, we turn it into a CORBA::UNKNOWN exception.
+ ACE_THROW_RETURN (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE,
+ CORBA::COMPLETED_YES),
+ TAO_INVOKE_EXCEPTION);
+ }
+ case TAO_GIOP_LOC_NEEDS_ADDRESSING_MODE:
+ {
+ // We have received an exception with a request to change the
+ // addressing mode. First let us read the mode that the
+ // server/agent asks for.
+ CORBA::Short addr_mode = 0;
+ if (this->rd_.reply_cdr ().read_short (addr_mode) == 0)
+ {
+ // Could not demarshal the addressing disposition, raise an local
+ // CORBA::MARSHAL
+ ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE,
+ CORBA::COMPLETED_MAYBE),
+ TAO_INVOKE_OK);
+ }
+
+ // Now set this addressing mode in the stub object, so that
+ // the next invocation need not go through this.
+ this->stub_->addressing_mode (addr_mode);
+
+ // Now restart the invocation
+ return TAO_INVOKE_RESTART;
+ }
}
return TAO_INVOKE_OK;
diff --git a/TAO/tao/Makefile.am b/TAO/tao/Makefile.am
index c762e3c3c7b..63d952f998e 100644
--- a/TAO/tao/Makefile.am
+++ b/TAO/tao/Makefile.am
@@ -47,6 +47,21 @@ PLUGGABLE_PROTOCOLS_FILES = \
IORS.cpp \
IORManipulation.cpp
+PLUGGABLE_MESSAGING_FILES = \
+Pluggable_Messaging \
+Pluggable_Messaging_Utils \
+GIOP_Message_Base \
+GIOP_Message_Connectors \
+GIOP_Message_Acceptors \
+GIOP_Message_Accept_State \
+GIOP_Utils \
+GIOP_Message_Headers \
+target_specification \
+GIOP_Server_Request \
+GIOP_Message_Lite \
+GIOP_Message_State \
+Tagged_Profile
+
DEFAULT_RESOURCES_FILES = \
default_client.cpp \
default_server.cpp \
@@ -96,8 +111,6 @@ ORB_CORE_FILES = \
Client_Strategy_Factory.cpp \
debug.cpp \
Object_KeyC.cpp \
- GIOP.cpp \
- GIOP_Server_Request.cpp \
Invocation.cpp \
Interceptor.cpp \
InterceptorC.cpp \
diff --git a/TAO/tao/Makefile.bor b/TAO/tao/Makefile.bor
index 1f001a37040..2bf9b824c3c 100644
--- a/TAO/tao/Makefile.bor
+++ b/TAO/tao/Makefile.bor
@@ -133,6 +133,7 @@ OBJFILES = \
$(OBJDIR)\Stub.obj \
$(OBJDIR)\Sync_Strategies.obj \
$(OBJDIR)\Tagged_Components.obj \
+ $(OBJDIR)\Tagged_Profile.obj \
$(OBJDIR)\TAO.obj \
$(OBJDIR)\TAO_Internal.obj \
$(OBJDIR)\TAOC.obj \