peter 
							
						 
					 
					
						
						
						
						
							
						
						
							5acb3649df 
							
						 
					 
					
						
						
							
							* revert r9557, the performance impact is to big for an academic corner  
						
						 
						
						... 
						
						
						
						case optimziation
git-svn-id: trunk@9603 - 
						
					 
					
						2007-12-31 13:36:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							c4e60fd1a5 
							
						 
					 
					
						
						
							
							- Removed systhrd.inc from targets where thread manager is stub by default. Stub is installed in common thread.inc file if DISABLE_NO_THREAD_MANAGER is not defined.  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@9558 - 
						
					 
					
						2007-12-28 15:21:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							0dcad4d822 
							
						 
					 
					
						
						
							
							* Implemented late thread manager initialization. Thread manager code is not included to executable if thread stuff are not used. WinCE executable size is reduced by 4KB, Win32 executable size is reduced by 3KB. No testsuite regressions.  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@9557 - 
						
					 
					
						2007-12-28 14:40:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							7da7364ee7 
							
						 
					 
					
						
						
							
							* refactored SysResetFPU into SysInitFPU and SysResetFPU  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@8966 - 
						
					 
					
						2007-10-28 12:06:49 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							0d8594a705 
							
						 
					 
					
						
						
							
							* made cwstring thread safe without locks + test (twide4): widestring  
						
						 
						
						... 
						
						
						
						manager now has two extra parameterless procedures (ThreadInitProc
    and ThreadFiniProc) which are called whenever a thread begins/ends,
    and cwstring uses these to create separate iconv handles for
    each thread (via threadvars)
  * renamed UCS4 to UCS-4BE/LE, because UCS4 is not recognised by most
    systems
  * clean up all iconv handles on exit, and check whether they are
    valid before doing so
git-svn-id: trunk@7949 - 
						
					 
					
						2007-07-04 18:10:34 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							0c6fb09094 
							
						 
					 
					
						
						
							
							* fixed compilation for wince.  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@7517 - 
						
					 
					
						2007-05-29 17:03:03 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								micha 
							
						 
					 
					
						
						
						
						
							
						
						
							6c85fcb157 
							
						 
					 
					
						
						
							
							heap manager: initialize critical sections properly  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@7412 - 
						
					 
					
						2007-05-21 17:08:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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