micha
7f2a257102
+ heap manager now per thread, reduce heap lock contention
...
+ heap threading test
git-svn-id: trunk@7407 -
2007-05-20 20:58:12 +00:00
daniel
6aad495cbb
* Increase type safety: PRTLevent=type pointer;
...
git-svn-id: trunk@6626 -
2007-02-24 09:53:19 +00:00
micha
702685717f
* cleanup of rtlevents, remove startwait due to persistance guarantee
...
git-svn-id: trunk@5854 -
2007-01-08 19:11:07 +00:00
Jonas Maebe
0c3afc0cf4
+ implementation of cSemaphore* and BasicRTLEvent based on
...
sem_open/sem_close for Darwin (doesn't have sem_init/sem_destroy)
+ implementation of cSemaphore* based on pipes (for potential future
systems that don't have either sem* routines)
+ test for basicrtlevent
* fixed datarace whereby a TThread could be started, run and exit before
TThread.AfterConstructor had been called (Mantis 6693, all platforms)
* throw EThread exceptions in TThread.create if something during creating
the tthread goes wrong (*nix)
* don't crash in TThread.Destroy if the TThread throws an exception before
it was fully initialised (*nix)
* changed order of operations in TThread.Destroy so it doesn't perform
invalid thread operations in some edge cases (*nix)
* fixed usage of sem_wait/sem_trywait (can be interrupted) in Semaphore
and RTLEvent implementations
* fixed erroneous waiting for threads after they had already exited via
pthread_detach/pthread_exit
* fixed several memory leaks in case of thread intialisation errors
(*nix)
* unified tthread.inc for all Unices
git-svn-id: trunk@5662 -
2006-12-21 18:22:47 +00:00
Almindor
2ee7e64a4a
* adds semaphore support to ThreadManager, removes pipe hack from non linux
...
+ adds SemaphoreInit, SemaphorePost, SemaphoreWait and SemaphoreDestroy to TM
git-svn-id: trunk@4900 -
2006-10-14 11:39:47 +00:00
tom_at_work
367df58016
* stack related things (sizes, calculations, etc.) are now 64 bit on 64 bit platforms
...
* default stack size is now also 32k for Windows (allows the use of stack checking when using threads)
git-svn-id: trunk@1718 -
2005-11-10 17:06:25 +00:00
florian
370a66a452
* reverted r1651
...
git-svn-id: trunk@1653 -
2005-11-05 09:54:44 +00:00
florian
a884848684
* ThreadProc needs stdcall or cdecl calling conventions usually
...
git-svn-id: trunk@1651 -
2005-11-05 00:05:07 +00:00
florian
9e30922547
* fixed previous commit
...
git-svn-id: trunk@1623 -
2005-11-01 22:13:37 +00:00
florian
7bff61ce29
* patch from Ales Katona to add a stack size parameter to tthread functions
...
git-svn-id: trunk@1621 -
2005-11-01 22:01:48 +00:00
michael
859bb30daa
+ Removed HASTHREADVAR SUPPORT_THREADVAR defines
...
git-svn-id: trunk@295 -
2005-06-09 17:40:29 +00:00
florian
ad3b9b9464
* windows rtl restructuring to share code between win32 and win64
...
* BeginThread can take a qword on 64 bit targets as stacksize
git-svn-id: trunk@287 -
2005-06-08 19:08:49 +00:00
peter
4ace790492
* remove $Log
...
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
Jonas Maebe
7ba46ce6f0
* Darwin TThreadID is a pointer
...
* BeginThread now returns a TThreadID instead of dword
git-svn-id: trunk@189 -
2005-06-04 09:33:39 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
Tomas Hajny
1723f08a51
* yet another TThreadID fix
2005-04-20 06:32:47 +00:00
florian
c04f0bc856
* fixed more TThreadID stuff
2005-04-14 20:42:14 +00:00
florian
4aa4aeae79
+ TThreadID
2005-04-13 20:10:50 +00:00
florian
710dbcef0a
+ classes.mainthreadid is set now
...
+ rtleventresetevent
+ rtleventwairfor with timeout
+ checksynchronize with timeout
* race condition in synchronize fixed
2005-04-09 17:26:08 +00:00
florian
98106e588c
* another "transfer to linux"-commit
2005-02-25 22:02:46 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
2fbaae2b91
* threading in system unit
...
* removed systhrds unit
2005-02-06 11:20:52 +00:00
armin
690e3330d1
* applied patch to compile go32v2 from Tomas (tested by John)
2005-01-21 21:43:12 +00:00
marco
e12796a400
* tthread patch from neli
2004-12-28 14:20:03 +00:00
marco
cb75ebda02
* checksynchronize now in interface win32 uses the default impl.
...
unix uses systhrds, rest empty implementation.
2004-12-27 15:28:40 +00:00
marco
7377bbf1c9
* 2nd synchronize attempt. cthreads<->systhrds difference was not ok, but
...
only showed on make install should be fixed now.
2004-12-23 15:08:58 +00:00
marco
0db4315ea9
* rtlevent kraam. Checked (compile): Linux, FreeBSD, Darwin, Windows
...
Check work: ask Neli.
2004-12-22 21:29:24 +00:00
peter
64cd72bc5a
* x86_64 updates
2004-12-12 14:30:27 +00:00
armin
a23c3f4dd9
* added define DISABLE_NO_THREAD_MANAGER to avoid warnings if thread manager is always present
2004-09-19 18:55:30 +00:00
marco
6ae2f1b4dd
* wrappers and nothread prototypes for the basic* functions
2004-05-23 20:26:20 +00:00
marco
41153b8fd2
* first try basicevent
2004-05-23 15:30:29 +00:00
florian
b2a6bd9305
* fixed BeginThread on unix
2004-02-22 23:22:49 +00:00
florian
934fe41c45
* several 64 bit issues fixed
2004-02-22 16:48:39 +00:00
michael
f42fedd0c3
+ Added overloaded version of SetThreadManager without old parameter
2003-11-29 17:29:32 +00:00
michael
5d024d4cc3
+ Patch from peter to fix make cycle
2003-11-27 10:28:41 +00:00
michael
4b2084fb50
+ New threadmanager implementation
2003-11-26 20:10:59 +00:00
peter
39add9f5ff
* GetCurrentThreadHandle renamed to GetCurrentThreadId
2003-10-01 21:00:09 +00:00
armin
2d9ba86107
* more platform independent thread routines, needs to be implemented for unix
2003-03-27 17:14:27 +00:00
michael
cb5a3c7050
+ More system-independent thread routines
2002-10-16 19:04:27 +00:00
peter
5fff238567
* threads unit added for thread support
2002-10-14 19:39:16 +00:00
peter
01dfac4a4e
* old logs removed and tabs fixed
2002-09-07 15:06:34 +00:00
florian
7ac5c3743d
* several fixes for linux/powerpc
...
* several fixes to MT
2002-07-28 20:43:47 +00:00
peter
5d62342562
* criticalsection renamed to rtlcriticalsection for kylix compatibility
2001-10-23 21:51:02 +00:00
florian
dcbb5bac16
*** empty log message ***
2001-01-26 16:37:54 +00:00
florian
ddd5f168eb
+ more MT stuff added
2001-01-24 21:47:18 +00:00
florian
00917cb46f
* the info about exception frames is stored now on the stack
...
instead on the heap
2001-01-05 17:35:50 +00:00
florian
350880cf05
+ initial release
2001-01-01 19:06:36 +00:00