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

ruby - When to use an ORM (Sequel, Datamapper, AR, etc.) vs. pure SQL for querying -

php - PHPDoc: @return void necessary? -

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