Hello Jeff, Konstantin & all,

On Mon, 2012-06-25 at 20:52 +0200, verlag.preis...@t-online.de wrote:
> Hello Jeff & all,
> 
> > Von: Jeff MAURY <jeffma...@jeffmaury.com>
> > Datum: Mon, 25 Jun 2012 18:46:02 +0200
> 
> > Konstantin,
> > 
> > your explanations are very interesting but unclear to me: what do you
> > call the inactivity timer ? When it is started ? After the request has
> > been processed by the servlet ? In that case, I see no difference
> > between a servlet that launch a process and another one.
> > It seems to me that a process that is launched does not inhererits
> > handles from its parent process but it's possible that under Windows,
> > it's an option so it would be interesting to watch.
> > 
> > Jeff
> > 
> 
> Sorry, I'm just a normal Tomcat user, and I don't know how exactly the APR 
> connector and its Timeout works, so I am unable to answer that.
> 
> 
> Howewer, I did some further observations:
> 
> -When I perform a request to the servlet that opens wordpad.exe, the TCP 
> connection from Tomcat does not close after the timeout - even when I kill 
> the Tomcat process (java.exe), the TCP connection is still open. If I kill 
> wordpad.exe, then finally the connection is closed/aborted.
> -When I have 1 TCP connection open to Tomcat and the servlet starts the 
> little C program, Task manager shows that it has 11 handles.
> However, when I have 5 TCP connections open to Tomcat, and do the request on 
> one of them, Task maanger shows that the C program has 15 handles - so four 
> more handles when there are four more connections to Tomcat. All of that 5 
> TCP connections don't close until I kill that process.
> 
> That seems to me to be an indication that socket handles could be inherited 
> by the child processes that are startet by ProcessBuilder from tomcat.
> 
> A msdn article mentions how to create a new process using CreateProcess(); it 
> also mentions that socket handles can be inherited: 
> http://msdn.microsoft.com/en-us/library/windows/desktop/ms724466.aspx
> 
> However, as I don't have much knowledge about programming with WinAPIs, I 
> don't know why those handles are inherited (the MSDN article mentions that a 
> handle must be specified as inheritable when created, to allow a child 
> process to inherit it). Maybe someone with more WinAPI/Tomcat Native 
> knowledge can help here.


I also had the vague intuition that this related to handles inheritence.
Your recent tests & research tend to make this hypothesis even more
appealing.

I know nothing about tomcat-native implementation, but I was able to see
that the bInheritHandle member is set to true here in tomcat native's C
code:

lpetit:~/tmp/tomcat-native $ grep "bInheritHandle" -R *
native/os/win32/ntpipe.c:    con->sa.bInheritHandle = TRUE;

(
http://svn.apache.org/repos/asf/tomcat/native/branches/1.1.x/native/os/win32/ntpipe.c
 )


Jeff, 

What else could we do to help investigate / fix this issue ?


Cheers,

-- 
Laurent


> 
> Regards,
> Konstantin Preißer
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 

-- 
Laurent Petit

Agence +33 (0)4 78 47 07 49

Email     lpe...@yseop.com

 



 

Yseop apporte une réponse intelligente et individualisée à chacun de vos
clients

 

www.yseop.com




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to