Commit Graph

43 Commits

Author SHA1 Message Date
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
florian
fd2032dab2 + start of embedded rtl
+ feature support in the compiler

git-svn-id: trunk@5628 -
2006-12-17 18:40:36 +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
florian
262f60e67d * flush std handlers at thread termination
git-svn-id: trunk@4752 -
2006-09-28 20:36:41 +00:00
tom_at_work
1b4b42fdd6 * added CheckInitialStkLen() function which checks whether the given stack size value is valid on the OS when creating a thread, fixing stack checking
git-svn-id: trunk@1722 -
2005-11-11 12:16:08 +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
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
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
226b1ff3a7 * two more (TThreadID) 2005-04-20 07:41:48 +00:00
Tomas Hajny
787bd9171d * one more TThreadID fix 2005-04-17 17:19:41 +00:00
florian
c04f0bc856 * fixed more TThreadID stuff 2005-04-14 20:42:14 +00:00
florian
3ab66b5576 * TThread on linux fixed 2005-04-13 20:15:47 +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
d18746bd15 * proper error message if the cthreads unit is included too late
uses clause
2005-04-03 19:29:28 +00:00
florian
c7939907f0 * rtl event init/destroy throws only an error if it's used in a mult threaded program 2005-02-26 11:40:38 +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
c96f69718f can't use resourcestrings in the system unit 2005-02-07 17:36:54 +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
florian
9255d0d90b * critical sections can be used in programs without threading driver, they have no effect then 2005-01-16 14:46:57 +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
peter
9d567a3c63 * fix rtlcreateevent 2004-12-23 20:58:22 +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
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
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
peter
16746b7d41 * fixed compile for unix 2004-01-21 20:11:06 +00:00
Tomas Hajny
e0f9297e01 * ExecuteProcess fixes, ProcessID and ThreadID added 2004-01-20 23:05:31 +00:00
michael
bbb575334b + Removed dummy variable from SetNothreadManager 2003-11-29 17:33:09 +00:00
michael
f42fedd0c3 + Added overloaded version of SetThreadManager without old parameter 2003-11-29 17:29:32 +00:00
michael
4b2084fb50 + New threadmanager implementation 2003-11-26 20:10:59 +00:00
Jonas Maebe
4b2838b161 * the BeginThread() variant that allowed you to specify the stacksize
still passed DefaultStackSize to the OS-specific routines
2002-11-14 12:40:06 +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