FW: [omniORB] omniORB: Unrecoverable error for this endpoint: gio p:tcp

Vikas Gandhi VGandhi at quark.co.in
Thu Apr 15 21:49:06 BST 2004


Hi Duncan 
Serguei Kolos's does break on windows. Still u mentioned that FD_SETSIZE
does have problems in Linux. Can u tell what are these problems as I would
love to be aware about them.

Regards
Vikas

-----Original Message-----
From: Duncan Grisby [mailto:duncan at grisby.org] 
Sent: Tuesday, April 13, 2004 12:52 AM
To: Vikas Gandhi
Cc: omniorb-list at omniorb-support.com
Subject: Re: FW: [omniORB] omniORB: Unrecoverable error for this endpoint:
gio p:tcp 

On Tuesday 6 April, Vikas Gandhi wrote:

> Continuing from my previous email, the problem is attributed to select, if
> it returned an error, we get omniORB: Unrecoverable error for this
endpoint:
> giop:tcp:x.x.x.x:2222. Now further analysis shows that if FD_SETSIZE which
> is default 1024 (defined in <select.h>,) for solaris, omni also has the
same
> limits. 
> 
> We just recompiled omni with -DFD_SETSIZE=4096 and we were able to scale
> much higher without any problems.

I have checked in a change that rejects new connections if the
platform selectable file descriptor limit is reached. I don't believe
it is safe on most platforms to arbitrarily increase FD_SETSIZE. It is
safe on Windows, but it certainly isn't on Linux. I don't know about
Solaris.

On Solaris, you might want to use Serguei Kolos's patch to use poll
instead of select(). I plan to integrate something equivalent, but I
think Serguei's code will probably break on some platforms due to its
use of high bits in the events masks.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list