24 #if !defined(__MMPRIVATE_H) && !defined(__CINT__) 25 #include "mmprivate.h" 98 void operator delete(
void *vp);
179 return (
void *)((
struct mdesc *)
fMmallocDesc)->breakval;
186 if (!
gROOT || !
gROOT->GetListOfMappedFiles())
return 0;
void * GetBreakval() const
Return the current location in the memory region for this malloc heap which represents the end of mem...
TMapRec * fNext
Next MapRec in list.
TObject * Remove(TObject *obj)
void * GetBaseAddr() const
This class implements a shared memory region mapped to a file.
void * GetBuffer(Long_t offset=0) const
static TMapFile * Create(const char *name, Option_t *option="READ", Int_t size=kDefaultMapSize, const char *title="")
Create a memory mapped file.
static void SetMapAddress(Long_t addr)
Set preferred map address.
static Long_t fgMapAddress
Map to this address, set address via SetMapAddress()
R__EXTERN void * gMmallocDesc
const char * GetOption() const
TMapFile * FindShadowMapFile()
Returns shadow map file.
virtual ~TMapFile()
TMapFiles may not be deleted, since we want to keep the complete TMapFile object in the mapped file f...
void operator=(const TMapFile &rhs)
Int_t fSize
Original start size of memory mapped region.
Int_t fVersion
ROOT version (or -1 for shadow map file)
char * fTitle
Title of mapped file.
Int_t ReleaseSemaphore()
Release semaphore. Returns 0 if OK, -1 on error.
void CreateSemaphore(Int_t pid=0)
Create semaphore used for synchronizing access to shared memory.
Int_t fBufSize
Buffer size.
void * OrgAddress(void *addr) const
void Update(TObject *obj=0)
Update an object (or all objects, if obj == 0) in shared memory.
static void * MapToAddress()
Return the base address at which we would like the next TMapFile's mapped data to start...
TObject * fGetting
Don't deadlock in update mode, when from Get() Add() is called.
TObject * Get(const char *name, TObject *retObj=0)
Return pointer to object retrieved from shared memory.
void * fMmallocDesc
Pointer to mmalloc descriptor.
const char * GetName() const
Returns name of object.
Int_t GetBestBuffer()
Return the best buffer size for objects in this file.
Int_t fWritten
Number of objects written sofar.
TObject * fObject
Pointer to original object.
TMapRec * fLast
Last object in list of shared objects.
Double_t fSum2Buffer
Sum of squares of buffer sizes of objects written so far.
void InitDirectory()
Create the directory associated to this mapfile.
#define ClassDef(name, id)
const char * GetClassName(Long_t offset=0) const
ULong_t fBaseAddr
Base address of mapped memory region.
Double_t fSumBuffer
Sum of buffer sizes of objects written sofar.
ULong_t fhSemaphore
HANDLE of WIN32 Mutex object to implement semaphore.
void Add(const TObject *obj, const char *name="")
Add an object to the list of objects to be stored in shared memory.
const char * GetName(Long_t offset=0) const
Bool_t fWritable
TRUE if mapped file opened in RDWR mode.
Using a TBrowser one can browse all ROOT objects.
void * fBuffer
Buffer containing object of class name.
Int_t AcquireSemaphore()
Acquire semaphore. Returns 0 if OK, -1 on error.
char * fOption
Directory creation options.
void SumBuffer(Int_t bufsize)
Increment statistics for buffer sizes of objects in this file.
TObject * Remove(const char *name)
Int_t fFd
Descriptor of mapped file.
TMapRec * GetFirst() const
static void * fgMmallocDesc
Used in Close() and operator delete()
TMapRec * GetLast() const
Bool_t IsFolder() const
Returns kTRUE in case object is a folder (i.e. contains browsable lists).
TObject * Remove(TObject *obj, Bool_t lock)
Remove object from shared memory.
void * GetMmallocDesc() const
Describe directory structure in memory.
Wrapper around a TObject so it can be stored in a TList.
Keep track of an object in the mapped file.
Int_t fSemaphore
Modification semaphore (or getpid() for WIN32)
Mother of all ROOT objects.
TMapRec * fFirst
List of streamed objects is shared memory.
TObject * GetObject() const
char * fClassName
Class name.
void RemoveAll()
Remove all objects from shared memory.
void DeleteSemaphore()
Delete the semaphore.
Bool_t cd(const char *path=0)
Cd to associated directory.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Long_t fOffset
Offset in bytes for region mapped by reader.
void Print(Option_t *option="") const
Print some info about the mapped file.
Bool_t IsWritable() const
void Browse(TBrowser *b)
Browse contents of TMapFile.
const char * GetTitle() const
Returns title of object.
TList * fBrowseList
List of KeyMapFile objects.
void Close(Option_t *option="")
Close a mapped file.
TMapFile()
Default ctor. Does not much except setting some basic values.
TDirectory * fDirectory
Pointer to directory associated to this mapfile.
char * fName
Name of mapped file.
static TMapFile * WhichMapFile(void *addr)
TMapRec * GetNext(Long_t offset=0) const
TDirectory * GetDirectory() const
void ls(Option_t *option="") const
List contents of TMapFile.