[omniORB] COMM_FAILURE and shutdown
Rob Cecil
rceci@master.adams.com
Mon, 20 Dec 1999 17:58:35 -0500
--------------4A0028F4C34D1F65E9079C2B
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hello,
I have implemented server process shutdown via the method invocation method,
i.e.
void
Server::shutdown()
{
... cleanup ...
spawn thread to run BOA->impl_shutdown();
}
This technique works fine, with the exception that the client throws
COMM_FAILURE. The server shuts down, but the client aborts (because I am not
handling this exception in this particular case). If the client has not
performed any method calls prior to the shutdown() call, then no COMM_FAILURE
is thrown. However, something simple like invoking a method that sends a
IOR back to the client, will cause subsequent shutdown() calls to throw the
exception. I was under the understanding that spawning a thread in the server
to run the impl_shutdown() is the preferred way, because it allows the client
method call to return. So what am I missing?
Thanks
Rob
ps.
omniORB28
Solaris2.5.1
--
| Rob Cecil | Senior Development Engineer |
| rceci@adams.com | Product Development |
| (734) 913-9351 | Mechanical Dynamics, Inc. (www.adams.com) |
--------------------------------------------------------------------
Modern Quantum Physics has found that the universe is composed of
25% protons, 15% electrons, 15% neutrons, and 45% morons.
--------------4A0028F4C34D1F65E9079C2B
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Hello,
<p>I have implemented server process shutdown via the method invocation
method, i.e.
<p>void
<br>Server::shutdown()
<br>{
<br>... cleanup ...
<br> spawn thread to run BOA->impl_shutdown();
<br>}
<br>
<p>This technique works fine, with the exception that the client throws
COMM_FAILURE. The server shuts down, but the client aborts (because
I am not handling this exception in this particular case). If the
client has not performed any method calls prior to the shutdown() call,
then no COMM_FAILURE is thrown. However, something simple like invoking
a method that sends a IOR back to the client, will cause subsequent
shutdown() calls to throw the exception. I was under the understanding
that spawning a thread in the server to run the impl_shutdown() is
the preferred way, because it allows the client method call to return.
So what am I missing?
<p>Thanks
<p>Rob
<p>ps.
<p>omniORB28
<br>Solaris2.5.1
<br>
<br>
<pre>--
| Rob Cecil | Senior Development Engineer |
| rceci@adams.com | Product Development |
| (734) 913-9351 | Mechanical Dynamics, Inc. (www.adams.com) |
--------------------------------------------------------------------
Modern Quantum Physics has found that the universe is composed of
25% protons, 15% electrons, 15% neutrons, and 45% morons.</pre>
</html>
--------------4A0028F4C34D1F65E9079C2B--