Bug 4199

Summary: Location forward handling in DSI TAO_DynamicImplementation class incorrect
Product: TAO Reporter: Martin Corino <mcorino>
Component: otherAssignee: DOC Center Support List (internal) <tao-support>
Status: NEW ---    
Severity: normal    
Priority: P3    
Version: 2.3.1   
Hardware: All   
OS: All   

Description Martin Corino 2015-01-27 07:02:53 CST
This code:

...
  if (request.response_expected ())
    {
      if (request.is_forwarded ())
        {
          request.init_reply ();
          request.tao_send_reply ();

          // No need to invoke in this case.
          return;
        }
      else if (request.sync_with_server ())
...

at lines 118-128 in TAO_DynamicImplementation::_dispatch() does not take Synchronization Scope settings were no response is expected (for example SYNC_NONE) into account.
In such cases "request.response_expected ()" would return false resulting in never triggering the fowarding check and causing the servant's invoke to be erroneously called.