[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&nbsp; implemented server process shutdown via the method invocation
method, i.e.
<p>void
<br>Server::shutdown()
<br>{
<br>... cleanup ...
<br>&nbsp;&nbsp; spawn thread to run BOA->impl_shutdown();
<br>}
<br>&nbsp;
<p>This technique works fine, with the exception that the client throws
COMM_FAILURE.&nbsp; The server shuts down, but the client aborts (because
I am not handling this exception in this particular case).&nbsp; If the
client has not performed any method calls prior to the shutdown()&nbsp;call,
then no COMM_FAILURE is thrown.&nbsp; However, something simple like invoking
a method that sends a IOR&nbsp;back to the client, will cause subsequent
shutdown()&nbsp;calls to throw the exception.&nbsp; I was under the understanding
that spawning a thread in the server to run the impl_shutdown()&nbsp;is
the preferred way, because it allows the client method call to return.&nbsp;
So what am I missing?
<p>Thanks
<p>Rob
<p>ps.
<p>omniORB28
<br>Solaris2.5.1
<br>&nbsp;
<br>&nbsp;
<pre>--&nbsp;
| Rob Cecil&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Senior Development Engineer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
| rceci@adams.com&nbsp;&nbsp;&nbsp; | Product Development&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
| (734) 913-9351&nbsp;&nbsp;&nbsp;&nbsp; | Mechanical Dynamics, Inc. (www.adams.com)&nbsp;&nbsp; |
--------------------------------------------------------------------
&nbsp;Modern Quantum Physics has found that the universe is composed of
&nbsp;25% protons, 15% electrons, 15% neutrons, and 45% morons.</pre>
&nbsp;</html>

--------------4A0028F4C34D1F65E9079C2B--