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 -
linux as well, actually).
* base libpthread definitions are now in ptypes.inc, included in unixtype
They sometimes have an extra underscore in front of their name, in
case they were also exported by the packages/base/pthreads unit, so
they can keep their original name there
* cthreadds unit now imports systuils, because it uses exceptions (it
already did so before as well)
* fixed many linux definitions of libpthread functions in pthrlinux.inc
(integer -> cint etc)
+ added culonglong type to ctype.inc