Unload after keybord interrupt

Frank Dropmann (fdr@axnhd0.mpi-hd.mpg.de)
Mon, 29 Dec 1997 19:27:12 +0100


Hi

After sending a keybord interupt
(^C) to a function which has been
loaded with .L and then called it seems
impossible to Unload or reaload the same function
I allways get a message that the file is still busy.
This remains even after a gROOT reset. Is there
a more elegant way the reload the function other than
quitting root and starting all over again ?

Here a small sample session :

the function is

#include <iostream.h>

void Test() {

Int_t i = 0;

while(1) { i++ ; cout << i <<'\n' ;}
}

root [1] .L test.C
root [2] Test();
1
2
3
4
5
:
:
(^C)
*** Break *** keyboard interrupt
Root > .U test.C
Error: G__unloadfile() File "test.C" not loaded FILE:/scratch2/fdr/sige/root/./test.C LINE:7
*** Interpreter error recovered ***
root [3] .L test.C
Function Test() busy. loaded after "/scratch2/fdr/sige/root/./test.C"
Error: G__unloadfile() Can not unload "/scratch2/fdr/sige/root/./test.C", file busy FILE:/scratch2/fdr/sige/root/./test.C LINE:7
root [4] gROOT->Reset();
*** Interpreter error recovered ***
root [5] .U test.C
Error: G__unloadfile() File "test.C" not loaded FILE:/scratch2/fdr/sige/root/./test.C LINE:7
*** Interpreter error recovered ***
root [6] .L test.C
Function Test() busy. loaded after "/scratch2/fdr/sige/root/./test.C"
Error: G__unloadfile() Can not unload "/scratch2/fdr/sige/root/./test.C", file busy FILE:/scratch2/fdr/sige/root/./test.C LINE:7
root [7] .q