[root] / trunk / core / base / inc / TProcessID.h Repository:
ViewVC logotype

Log of /trunk/core/base/inc/TProcessID.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 26606 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 2 20:36:09 2008 UTC (6 years, 1 month ago) by pcanal
File length: 3094 byte(s)
Diff to previous 23058
Following Igor Smirnov analysis fix several memory leaks, add checks for null pointer dereference, fix or add copy constructor and assignment operator when applicable, make the copy constructor and assignment operator private when the objects are not intended to be copiable.

Revision 23058 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 8 21:59:51 2008 UTC (6 years, 9 months ago) by pcanal
File length: 3009 byte(s)
Diff to previous 22961
Add new (conveninence) function TProcessID::GetProcessWithUID(TObject*)

Revision 22961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 3 13:32:57 2008 UTC (6 years, 9 months ago) by rdm
File length: 2941 byte(s)
Diff to previous 20877
move the directories:
  base clib cont meta metautils newdelete pcre rint thread unix utils
  winnt zip
under the new core meta directory.

Revision 20877 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:17:07 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/base/inc/TProcessID.h
File length: 2941 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/base/inc/TProcessID.h
File length: 2941 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/base/inc/TProcessID.h
File length: 2992 byte(s)
Diff to previous 19619
remove :$ from tag line

Revision 19619 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 13 17:27:54 2007 UTC (7 years, 5 months ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 3002 byte(s)
Diff to previous 17506
From Axel and Gordon Watts:
Move the code in TProcessID::CheckInit from inline to the implementation file.

Revision 17506 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 25 11:49:33 2007 UTC (8 years ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 3090 byte(s)
Diff to previous 16507
 -Remove the static functions: ReadProcessID and WriteProcessID.
  These two functions have been moved to TVirtualIO and TFileIO.
 -Implement new functions;
    void   CheckInit()
    static TProcessID  *GetPID();
    static TObjArray   *GetPIDs();

With these changes TProcessID is now independent of the I/O sub-system.

Revision 16507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 11 10:26:23 2006 UTC (8 years, 3 months ago) by rdm
Original Path: trunk/base/inc/TProcessID.h
File length: 3096 byte(s)
Diff to previous 14054
From Federico:
fixes for the -effc++ g++ option.

Revision 14054 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 17 05:16:38 2006 UTC (8 years, 11 months ago) by pcanal
Original Path: trunk/base/inc/TProcessID.h
File length: 3047 byte(s)
Diff to previous 13258
From Axel:
---
Add support for auto-loading of TRefs from multiple TProcessIDs:
TRefTable now stores 2d arrays of branch numbers to load [PID][UID] (via
FillBuffer). The PID index <-> TProcessID-GUID mapping is stored via
TRefTable::Streamer (i.e. once per TTree). Lookup is cached. This change
is both backward and forward compatible, both concerning the interface
and .root files. Only exception is TRefTable::fParentIDs, which is now
only streamed via FillBuffer / ReadBuffer, not as a member of TRefTable.

Minor side-notes:
* Speed-up in TRef::GetObject de-referencing (only once call to
TProcessID::GetObjectWithID).
* No re-reading of a branch if it was already read for an event (if
TBranchRef's fReadEntry == branch-to-autoload's fReadEntry then don't
call GetEntry on it).
* Added getter for TProcessID::fgPIDs->Size()
* updated doc for TRef, TRefTable, TBranchRef, to reflect the current
status of auto-loading.
---

The only change that's breaking backward compatibility (as mentioned
above) is the clear split between per-entry and global streaming of the
TRefTable: there is no use in storing the fParentIDs[][] array (and
fN[]) as part of the TTree members - it should only be stored as part of
the TTree entry. So I've marked them as //!; they're made persistent in
TRefTable::FillBuffer.

The member TRefTable::fSize is only around to suppress a warning in the
schema evolution algorithm (it was a counter before, and the schema
evolution algo is unhappy about fSize missing in the new class
definition, nor does it appreciate fSize being marked as //!). This is
ugly, but I prefer it over a custom streamer.

The patch should fix the following issues:
* autoloading doesn't work because TRefs were created by different
processes,
* changed objects magically overwritten in memory due to re-loading of
referenced objects

Revision 13258 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 16 20:11:59 2005 UTC (9 years, 2 months ago) by pcanal
Original Path: trunk/base/inc/TProcessID.h
File length: 2962 byte(s)
Diff to previous 11001
White spaces and comments update

Revision 11001 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 28 05:45:41 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 2963 byte(s)
Diff to previous 6988
From Philippe:
This patch solved a problem due to the fact that TObject's fUniqueID can
only hold a 8 bits ProccessID identifier (in addition to storing a 24 bits
object ID).  However we support 65535 distinct ProcsssID identifiers per
file.  Before this patch, for a file containing more than 255 distcint
ProcessID, the
TRef using the later ProcessID would be unable to find their references.

Specifically, fUniqueID can now store the ProcessID indentifier 0 through
254.  When more identifiers
are used, then instead of store the identifier in the 8 higher bit of
fUniqueID we store in a table (TProcessID::fgObjPIDs) linking addresses to
pids.

Revision 6988 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 22 16:08:36 2003 UTC (11 years, 6 months ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 2881 byte(s)
Diff to previous 5827
Implement new function TProcessID::Clear.
 // delete the TObjArray pointing to referenced objects
 // this function is called by TFile::Close("R")

Revision 5827 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 18 08:07:29 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 2833 byte(s)
Diff to previous 5823
Change TProcessID::IsValid to support the case where the argument is a TProcessUUID.

Revision 5823 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 17 10:15:39 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 2884 byte(s)
Diff to previous 5760
Change return type of TProcessID::IsValid from UInt_t to Bool_t

Revision 5760 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 6 21:28:52 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 2863 byte(s)
Diff to previous 4282
Add new static function
  UInt_t IsValid(TProcessID *pid)

Revision 4282 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 1 17:19:13 2002 UTC (12 years, 9 months ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 2784 byte(s)
Diff to previous 3845
Several changes in the handling of TRef to support the following use case:
An array of objects is written to a file but the TRefs
referencing these objects are not written to the file.
In a next session, these objects are read in memory
and new TRefs point to these objects and are written
to a separate file. In a third session both files
are connected.
To get this scenario working, one must use a dummy TRef
set to all objects that can be referenced in the next session.

Revision 3845 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 3 16:13:40 2002 UTC (12 years, 11 months ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 2730 byte(s)
Diff to previous 3346
Add new static function GetSessionProcessID return the current
session TProcessID.

Rewrite the function ReadProcessID in order to store the right pid
in the list of the files pids in case the pid is already existing
in other files.

Revision 3346 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Dec 2 15:11:32 2001 UTC (13 years, 1 month ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 2684 byte(s)
Diff to previous 3294
Many functions previously in TRef moved to TProcessID.
The first time a referenced or referencing object is written to a file,
the corresponding TProcessID is also written.
The ObjectCounter fgNumber also moved to TProcessID.

Revision 3294 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 28 14:47:03 2001 UTC (13 years, 1 month ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 2175 byte(s)
Diff to previous 2904
Backward incompatible change of TProcessID. The new version supports
the new versions of TRef and TRefArray.
Instead of using a TExMap to store the pointers to the referenced objects,
a simple and faster TObjArray is created. Each array element points directly
to the referenced object. The array index corresponds to the fUniqueID
of the referenced object.

Revision 2904 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Oct 1 10:29:08 2001 UTC (13 years, 3 months ago) by brun
Original Path: trunk/base/inc/TProcessID.h
File length: 2136 byte(s)
Two new classes to support Persistent Reference pointers.
See long comments in these two classes.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9