Re: [ROOT] TThread: What can be done in a thread?

From: Volker Hejny (V.Hejny@fz-juelich.de)
Date: Tue Oct 30 2001 - 10:44:13 MET


Dear Marc, dear Joern,

On Tue, Oct 30, 2001 at 01:09:56AM +0100, Marc Hemberger wrote:
> So, in my review, I would say, you are talking about two very different
> things: ROOT system crash (as implied by your statement about
> long-living applications over days) versus a TMonitor::Select() hang up
> (nothimg is received by the file descriptor). I don't know how to solve
> Volkers special problem with the Select() (only ideas, which I told him
> already privately), but at least in my application we don't see any
> potential conflict and no system "core dumps"  or "segmentation
> violations" as you imply it. This just for clarity.
> 
> A never returning Select() might have several reasons, but "unsafe"
> lists in ROOT should lead sooner or later but always to a system crash,
> as you mentioned it correctly. I don't see how unprotected lists could
> produce a deadlock.

I just made some tests and I realized that I - maybe - made the 
situation not clear enough. What I was using was a standard Root
session to start the thread. I was using
[] TThread *thp = new TThread("top",top,(void*)0);
[] thp->Run();
on the command line with the result, that the use of TMonitor::Select()
was not possible. A given timeout did not help at all!

On the other hand, when I use a standalone TROOT application with two
server threads on two different ports, the use of TMonitor::Select()
seems to make no problem. 

Best regards,
Volker

-- 
Dr. Volker Hejny                Tel: 02461/616853                      ** 
Institut f. Kernphysik          Fax: 02461/613930                     **
---------------------------------------------------------------- **  ** ---  
Forschungszentrum Juelich GmbH, D-52425 Juelich                    **



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:05 MET