TMapFile:Segmentation .....

Thomas Eberl (Thomas.Eberl@physik.tu-muenchen.de)
Thu, 20 May 1999 17:01:18 +0200


Dear rooters,

For the following code I have used the recipe given in TMapFile source
about SetMapAddress. Still the result is:
*** Break *** segmentation violation
Aborted

Why do they not coexist ? The memory areas are not overlapping.

The code is:
#include <TROOT.h>
#include <TMapFile.h>
#include <TMatrix.h>

extern void InitGui();
VoidFuncPtr_t initfuncs[] = { InitGui, 0 };

TROOT root("Producer", "Producer for shared mem", initfuncs);

int main(int argc, char **argv)

{

TMapFile::SetMapAddress(0x40a3a000);
TMapFile * mfile = 0;
mfile = TMapFile::Create("RICHonline.map","RECREATE", 1000000,
"Demo memory mapped file with
histograms");
TMapFile::SetMapAddress(0x40b2f000);
TMapFile * mfile1 = 0;
mfile1 = TMapFile::Create("RICHControl.map","RECREATE", 1000000,
"Demo memory mapped file with histograms");

Int_t n = 2;
TMatrix mat(0,n-1,0,n-1);
TMatrix * p_mat = &mat;
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
mat(i,j) = 5.;
}
}


mfile1->TMapFile::Add(p_mat,"TMatrix");
mfile1->TMapFile::Update();
mfile->TMapFile::Add(p_mat,"TMatrix");
mfile->TMapFile::Update();

p_mat -> Print();

mfile1->Print();
mfile1->ls();
mfile->Print();
mfile->ls();

return 0;
}

-- 
Thomas Eberl                       Phone: (+49 89) 289 1 2425   
Physik-Department E12, Technische Universitaet Muenchen
James-Franck-Strasse *** 85748 Garching b. Muenchen
Email: Thomas.Eberl@physik.tu-muenchen.de