Re: TArrayI, Function XXX() busy.

From: Masaharu Goto (gotom@hpyiddq.jpn.hp.com)
Date: Mon May 19 1997 - 06:21:32 MEST


Hello,

Concerned about the busy function,

 You can load and unload arbitrary C/C++ source code at run-time on CINT.
 But you can not unload source files with busy functions. Busy functions
 are functions which are running at that time. I must protect this to
 prevent fatal execution error.

 What is happening in monb.C case is that the error occurs during monb()
 execution and 'Root >' prompt appears within monb(). This means function
 monb() is busy. When you try to re-execute monb.C, it first tries to 
 unload monb.C and re-load it again. Because monb() is busy, you can't 
 unload it and causes the error you've seen.

 .x problem is inevitable but it may be possible to fix this for .reset.
 Let me take a closer look.

Masaharu Goto

> Otto Schaile wrote:
> > 
> > Hi roots,
> > - TArrayI has no constructor with initialisation of the values (as TArrayF
> >   e.g.). Is this an just an omission or intended?
> > 
> 
> Thanks for reporting this inconsistency. I have implemented
> this contructor into all TArray classes in the dev version.
> 
> > - After a bad error in a macro one might get:
> > 
> > ----------------------------------------------------------
> >  *** Break *** segmentation violation
> > 
> >  *** Break *** keyboard interrupt
> > Root > .x monb.C("etphp02")
> > Function monb() busy. loaded after "monb.C"
> > Error: G__unloadfile() Can not unload "monb.C", file busy  FILE:monb.C
> > LINE:60
> > Warning: File "monb.C" already loaded
> > root [2] .reset
> > Function monb() busy. loaded after "monb.C"
> > !!! Sorry, can not reset interpreter !!!
> > ----------------------------------------------------------
> > Is there a way out of this other then leaving root?
> 
> Unfortunatly, we have already seen this problem.
> Fons & Masa could you investigate ?
> 
> Rene Brun



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:26:18 MET