[omniORB-dev] Looping forever on select_forever

Duncan Grisby duncan at grisby.org
Fri Sep 24 14:29:33 BST 2004


On Saturday 18 September, Jon Gabilondo wrote:

> With version 4.0.3 and Mac OSX 10.3.4 with GUSI2, when i unplug my 
> network cable an invoke of "resolve_initial_references", stays in a 
> forever loop after calling some select with no time out, basically 
> because in giopStream.cc  is defined "pd_deadline_secs(0)," and never 
> changed.. so it gets to some select_forever, and forever stays ..

Clearly the TCP stack hasn't figured out that the connection has
gone.

> Basically it comes a point where the invoke has two options , to go 
> forever or with a timeout, and it goes in the forever branch.
> 
> Is there anything about "setClientThreadCallDeadline"  
> "setClientCallTimeout" "setClientThreadCallTimeout" etc that has to be 
> done in order to avoid this ?

If you set a timeout using any of those, the select call will indeed
time out and you'll get some kind of exception (TRANSIENT or
COMM_FAILURE, depending on the situation).

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-dev mailing list