Log of /trunk/core/thread/src/TPosixThread.cxx
Parent Directory
Revision
42885 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 6 13:42:56 2012 UTC (2 years, 11 months ago) by
axel
File length: 6778 byte(s)
Diff to
previous 39269
Make pthread stack size at least the same on MacOS (default: 512k) as on Linux (default: 2M). Symmetry and price of RAM being the main reasons.
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: 5957 byte(s)
Diff to
previous 20882
move the directories:
base clib cont meta metautils newdelete pcre rint thread unix utils
winnt zip
under the new core meta directory.
Revision
10774 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 14 15:06:18 2004 UTC (10 years, 1 month ago) by
rdm
Original Path:
trunk/thread/src/TPosixThread.cxx
File length: 5976 byte(s)
Diff to
previous 10748
several important changes and fixes:
- remove dependence on direct G__xxx CINT code, since CINT is not
reentrant there is no change we can currently run interprered function
as thread functions. This avoids also usage of the CINT lock in
the thread code which could lead to deadlocks when threads were
created in a constructor of an object created via the plugin manager
(which uses CINT to execute the ctor).
- added thread safe versions for the DoError() and ErrorHandler() functions
which allows TThread::Info() and family to be called from threads.
Idem for the Printf() function.
- by Maarten, added a join helper thread that will avoid the main thread
from blocking while doing a join and thereby not being able to process
events or handle messages sent from the threads via the XARequest
method.
- fix several memory leaks (valgrind).
Revision
10748 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Dec 10 12:13:33 2004 UTC (10 years, 1 month ago) by
rdm
Original Path:
trunk/thread/src/TPosixThread.cxx
File length: 5254 byte(s)
Diff to
previous 10455
From Maarten and me:
Changelog:
- Fixed a problem with TSemaphore where the owner of the lock in
the associated TMutex was not properly updated by the low level
pthread_cond_wait relock. (always remember our TMutex in TCondition)
- Unify thread ID's as Long_t
- Simplify and regularize TThread::Join(). Join with a thread based on
tid or TThread *, hide implementation more cleanly, remove unnecessary
member functions and variables (fJoinId et al)
- Make TThread::Ps() static (easier from cmd line)
- Use -1 iso 0 for unknown thread id as 0 is a valid value
- add more error checking in lots of places
- move gContainerMutex and gCINTMutex initialisation with the rest of
the one time init bunch.
- Simpify Exists()
- Lock *all* access to the global thread list
Revision
2385 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 6 13:41:43 2001 UTC (13 years, 7 months ago) by
brun
Original Path:
trunk/thread/src/TPosixThread.cxx
File length: 5268 byte(s)
Diff to
previous 1888
The following mods by Mathieu de Naurois. The following was an email from Matthieu
"You set the Thread Id at two different places.
1) in Int_t TPosixThread::Run(TThread *th)
th->fId = id; SetUniqueID(th->fId);
2)in void *TThread::Fun(void *ptr)
th = (TThread *)ptr;
th->fId = SelfId(); th->SetUniqueID(th->fId);
The second solution is the only good one, because the Thread uses its it
in the TThread::Fun
function. So if TPosixThread::Run was not fast enough, you get a clash.
BUT, in TThread::Fun(void *ptr) you use the Id before assigning it, in
the following call
CleanUpPush((void *)&AfterCancel,th); // Enable standard cancelling
function
So, I suggest to move the Id definition before that call."
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.