[omniORB] omniORB comm failure problems on cygwin
Duncan Grisby
duncan at grisby.org
Mon Feb 5 17:53:29 GMT 2007
On Tuesday 23 January, "Heley, Mike" wrote:
> The failures appear in the process activation server. This server has an
> activate method which forks and execs a new process, returning an ior to an
> object in the new process. It does this by waiting for the process to start
> up and make a call back to an object in the server, passing back the ior.
> The new process finds the object to call from a corbaloc URI passed in an
> environment variable. The object has been activated in the omniINSPOA. The
> server listens to a fixed port number 9281. This server has worked reliably
> on linux in the past.
Forking from multi-threaded processes is often problematic. I wouldn't
be surprised if cygwin gets it wrong occasionally.
It's not especially trivial to do, but you could try pre-forking a child
before you start omniORB in the activation server, then send messages to
that child through a pipe. The child can remain single threaded and fork
the children as necessary. Ugly, but safer than forking once omniORB is
going.
Cheers,
Duncan.
--
-- Duncan Grisby --
-- duncan at grisby.org --
-- http://www.grisby.org --
More information about the omniORB-list
mailing list