C++ CORBA DII issues -


could corba experts out there please me one.

i have multithreaded application code sends message server , waits response back. can see server sending response application doesnt seem receive it.

heres part of code.

  // create request object given message   msg.request = serverref->_request("receivecoremessagevia");   msg.request->set_return_type (corba::_tc_short);    msg.request->add_in_arg() <<= msg.sourcegateway;   msg.request->add_in_arg() <<= msg.octetseq;    msg.request->send_deferred();    ...   // following code in while loop in different function. uses request reference check response.   // check if request has completed   if (!msg->request->poll_response())   {     clssendlog << debug << "polling..." << endl;      return false; // no response yet   }    // returned result   clssendlog << debug << "get response..." << endl;   msg->request->get_response();    clssendlog << debug << "reading returned response value" << endl;   corba::short tmp = 0;   msg->request->return_value () >>= tmp; 

the result keeps saying polling if server responds. basic dii invocation , testing code on ace/tao 5.7.9. exact code works on omniorb 4.1.4. however, want work on ace/tao.

managed fix changing object reference _ptr _var. wrote small test application verify this. after changing pointer type behaving expected serving responses. problem getting initial reference interface.


Comments

Popular posts from this blog

unicode - Are email addresses allowed to contain non-alphanumeric characters? -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

c++ - Convert big endian to little endian when reading from a binary file -