[omniORB] omniORB threads dieing

Schmidt Henning (BNS USA) SchmidtH@Thmulti.com
Mon, 11 Feb 2002 20:37:26 -0500


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C1B365.D34B70D0
Content-Type: text/plain;
	charset="iso-8859-1"

Sorry for that first posting, accidentally pressed <send> ...



I am using omniORB 3.0.3 on IRIX
I understand that omniORB does some housekeeping in order not 
to eat up all the machine's resources after a while. Amongst 
other things it seems to terminate threads that have not been 
used for a while. (correct?)

This is a problem for me. My server application has a problem 
when the (omni-)thread terminates that made. My code 
will delete a couple of other resources that are coupled to 
the lifetime of the thread that first created them. And they are created on
a call from the client. Although 
it would propably be possible to change this (so that these 
resources are not coupled to the lifetime of the creating 
thread anymore) ... this would break my design quite a bit. 

I do know that there will never be more than two calls made 
to this server application at the same time. So I do not have 
to worry about more and more threads getting created by 
omniORB. I wonder if there is a way to switch of this 
automatic housekeeping.

I tried  <-ORBscanGranularity 0> . This did turn of the repeated "scanning
connections" message that I see when I set the debug level to something high
(like 20). But the thread still dies after ~2 minutes. When the thread dies
I see the following messages from omniORB (from the same debug level):

omniORB: throw omniConnectionBroken (minor 2) from
tcpSocketMTfactory.cc:1076
omniORB: tcpSocketMTfactory Worker: #### Connection closed.
omniORB: tcpSocketMTfactory Worker: exit.
omniORB: tcpSocketStrand::~Strand() close socket no. 25

Can someone give me a hint if there is a way to switch off this housekeeping
of thread-lifetimes?
Thanks a lot,
;Henning

--
H. Henning Schmidt / Thomson Multimedia
http://www.thomsonbroadcast.com
SchmidtH@THmulti.com

------_=_NextPart_001_01C1B365.D34B70D0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2653.12">
<TITLE>omniORB threads dieing</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=3D2>Sorry for that first posting, accidentally pressed =
&lt;send&gt; ...</FONT>
</P>
<BR>
<BR>

<P><FONT SIZE=3D2>I am using omniORB 3.0.3 on IRIX</FONT>
<BR><FONT SIZE=3D2>I understand that omniORB does some housekeeping in =
order not </FONT>
<BR><FONT SIZE=3D2>to eat up all the machine's resources after a while. =
Amongst </FONT>
<BR><FONT SIZE=3D2>other things it seems to terminate threads that have =
not been </FONT>
<BR><FONT SIZE=3D2>used for a while. (correct?)</FONT>
</P>

<P><FONT SIZE=3D2>This is a problem for me. My server application has a =
problem </FONT>
<BR><FONT SIZE=3D2>when the (omni-)thread terminates that made. My code =
</FONT>
<BR><FONT SIZE=3D2>will delete a couple of other resources that are =
coupled to </FONT>
<BR><FONT SIZE=3D2>the lifetime of the thread that first created them. =
And they are created on a call from the client. Although </FONT>
<BR><FONT SIZE=3D2>it would propably be possible to change this (so =
that these </FONT>
<BR><FONT SIZE=3D2>resources are not coupled to the lifetime of the =
creating </FONT>
<BR><FONT SIZE=3D2>thread anymore) ... this would break my design quite =
a bit. </FONT>
</P>

<P><FONT SIZE=3D2>I do know that there will never be more than two =
calls made </FONT>
<BR><FONT SIZE=3D2>to this server application at the same time. So I do =
not have </FONT>
<BR><FONT SIZE=3D2>to worry about more and more threads getting created =
by </FONT>
<BR><FONT SIZE=3D2>omniORB. I wonder if there is a way to switch of =
this </FONT>
<BR><FONT SIZE=3D2>automatic housekeeping.</FONT>
</P>

<P><FONT SIZE=3D2>I tried&nbsp; &lt;-ORBscanGranularity 0&gt; . This =
did turn of the repeated &quot;scanning connections&quot; message that =
I see when I set the debug level to something high (like 20). But the =
thread still dies after ~2 minutes. When the thread dies I see the =
following messages from omniORB (from the same debug level):</FONT></P>

<P><FONT SIZE=3D2>omniORB: throw omniConnectionBroken (minor 2) from =
tcpSocketMTfactory.cc:1076</FONT>
<BR><FONT SIZE=3D2>omniORB: tcpSocketMTfactory Worker: #### Connection =
closed.</FONT>
<BR><FONT SIZE=3D2>omniORB: tcpSocketMTfactory Worker: exit.</FONT>
<BR><FONT SIZE=3D2>omniORB: tcpSocketStrand::~Strand() close socket no. =
25</FONT>
</P>

<P><FONT SIZE=3D2>Can someone give me a hint if there is a way to =
switch off this housekeeping of thread-lifetimes?</FONT>
<BR><FONT SIZE=3D2>Thanks a lot,</FONT>
<BR><FONT SIZE=3D2>;Henning</FONT>
</P>

<P><FONT SIZE=3D2>--</FONT>
<BR><FONT SIZE=3D2>H. Henning Schmidt / Thomson Multimedia</FONT>
<BR><FONT SIZE=3D2><A HREF=3D"http://www.thomsonbroadcast.com" =
TARGET=3D"_blank">http://www.thomsonbroadcast.com</A></FONT>
<BR><FONT SIZE=3D2>SchmidtH@THmulti.com</FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C1B365.D34B70D0--