Richard Frith-MacDonald
bfd062d985
minor performance tweak when handling lots of performs on other threads.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32020 72102866-910b-0410-8b05-ffd578937521
2011-02-09 10:10:04 +00:00
Richard Frith-MacDonald
b6f476a7eb
Cleanups plus minor OSX compatibility tweak
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31781 72102866-910b-0410-8b05-ffd578937521
2010-12-27 07:03:50 +00:00
Nicola Pero
30f098f9f8
Updated code to compile with GCC 4.6 and the new GNU Objective-C runtime
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31765 72102866-910b-0410-8b05-ffd578937521
2010-12-23 02:23:05 +00:00
Nicola Pero
90bc2ff63a
Removed unused check (and definition of) objc_thread_add
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31761 72102866-910b-0410-8b05-ffd578937521
2010-12-22 23:36:11 +00:00
Richard Frith-MacDonald
e8ed721622
locking tweak
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31210 72102866-910b-0410-8b05-ffd578937521
2010-08-30 19:16:30 +00:00
Richard Frith-MacDonald
3b4e148c19
thread fixes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31209 72102866-910b-0410-8b05-ffd578937521
2010-08-30 17:27:11 +00:00
David Chisnall
e8e94cfcfb
Fix build with libobjc2.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30967 72102866-910b-0410-8b05-ffd578937521
2010-07-15 09:59:01 +00:00
David Chisnall
885d703079
Correct conditional macro.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30592 72102866-910b-0410-8b05-ffd578937521
2010-06-07 00:27:21 +00:00
David Chisnall
2403f62b07
Don't bother trying to register a thread creation callback with libobjc2 - it's never used.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30561 72102866-910b-0410-8b05-ffd578937521
2010-06-03 17:35:45 +00:00
Richard Frith-MacDonald
208754bb01
thread unregistering fixup
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30174 72102866-910b-0410-8b05-ffd578937521
2010-04-16 18:18:43 +00:00
Richard Frith-MacDonald
f784646663
generalize define from __MINGW32__ to __MINGW__
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30001 72102866-910b-0410-8b05-ffd578937521
2010-03-19 12:10:11 +00:00
Richard Frith-MacDonald
e55e203dda
apply fix by Roland Schwingel
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29879 72102866-910b-0410-8b05-ffd578937521
2010-03-08 12:36:37 +00:00
Richard Frith-MacDonald
14b91c9052
fixups for libobjc2
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29753 72102866-910b-0410-8b05-ffd578937521
2010-02-25 18:49:31 +00:00
Richard Frith-MacDonald
7cc69dfaae
Simplify header inclusion
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29669 72102866-910b-0410-8b05-ffd578937521
2010-02-19 08:12:46 +00:00
Richard Frith-MacDonald
c8a6832349
cosmetic tweaks
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29657 72102866-910b-0410-8b05-ffd578937521
2010-02-17 11:47:06 +00:00
Richard Frith-MacDonald
21d597e740
merge back reorganisation branch
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29615 72102866-910b-0410-8b05-ffd578937521
2010-02-14 10:48:10 +00:00
Richard Frith-MacDonald
1a353d2514
don't try to cleanup on main thread exit
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29478 72102866-910b-0410-8b05-ffd578937521
2010-02-04 18:04:13 +00:00
Richard Frith-MacDonald
367d552a3b
use usleep for small intervals
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29469 72102866-910b-0410-8b05-ffd578937521
2010-02-03 09:45:45 +00:00
Richard Frith-MacDonald
e9cdf2ec94
windows tweaks
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29468 72102866-910b-0410-8b05-ffd578937521
2010-02-03 09:31:59 +00:00
Richard Frith-MacDonald
a14a8a49b6
exit when main thread exits
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29462 72102866-910b-0410-8b05-ffd578937521
2010-02-02 14:25:58 +00:00
Richard Frith-MacDonald
b8ccc9459d
thread termination fixups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29461 72102866-910b-0410-8b05-ffd578937521
2010-02-01 21:08:45 +00:00
Richard Frith-MacDonald
e4a6d046be
cleanups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28787 72102866-910b-0410-8b05-ffd578937521
2009-10-10 08:16:17 +00:00
Richard Frith-MacDonald
77a7398d4a
fixup to work with old compilers
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28750 72102866-910b-0410-8b05-ffd578937521
2009-09-27 19:31:31 +00:00
Richard Frith-MacDonald
65fb6dd5ac
minor simplification
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28645 72102866-910b-0410-8b05-ffd578937521
2009-09-09 08:21:51 +00:00
Richard Frith-MacDonald
b3bb5d96da
thread exit improvements
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28638 72102866-910b-0410-8b05-ffd578937521
2009-09-08 20:32:52 +00:00
Richard Frith-MacDonald
a456517b42
Yield if asked to sleep
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28636 72102866-910b-0410-8b05-ffd578937521
2009-09-08 17:56:58 +00:00
David Chisnall
29faf077e7
Moved registration of runtime multithreaded handler to after the creation of the main thread's NSThread object. This fixes a potential issue where the runtime is already in multithreaded mode, calls the handler, and NSException crashes dereferencing the thread object.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28609 72102866-910b-0410-8b05-ffd578937521
2009-09-05 17:28:01 +00:00
David Chisnall
d7a877b871
* Source/NSLock.m
...
* Headers/Foundation/NSLock.h
Completely rewritten implementations of NSLock.h classes. These are now
faster, more complete, OS X-compatible, and most importantly actually
work. The old ones, for example, called functions that were not
implemented on Windows.
* Source/NSThread.m
Call pthread functions directly in NSThread instead of via the libobjc
abstraction layer. Also fixed a few issues, such as GC not being
initialized properly for NSThread subclasses that override -main (Javaism
supported by OS X) and tidies up the code in several places, removing
premature optimizations, especially those that introduce a test for an
unlikely case at the start of a method and thus slow everything down.
As a result of this change, GNUstep now depends on an implementation of
POSIX threads. This is included as standard on all modern UNIX systems,
and as an option on less-modern UNIX systems and non-UNIX systems,
including Windows. If you are building GNUstep on Windows, please install
the pthreads-win32 package, available from:
http://sourceware.org/pthreads-win32/
PLEASE TEST THIS! There may be some code that depended on the old
behaviour. I have been running the new NSLock implementation on FreeBSD
for a few weeks without issue; please report to me any problems that you
have on your platform.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28598 72102866-910b-0410-8b05-ffd578937521
2009-09-02 13:03:13 +00:00
Richard Frith-MacDonald
8904aada4f
Fix race condition
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28298 72102866-910b-0410-8b05-ffd578937521
2009-05-24 04:22:09 +00:00
Richard Frith-MacDonald
24d43481a8
Updates for 10.5 API changes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27962 72102866-910b-0410-8b05-ffd578937521
2009-02-23 20:42:32 +00:00
Richard Frith-MacDonald
b732dc843b
fix bugs #25545 and #25546
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27832 72102866-910b-0410-8b05-ffd578937521
2009-02-10 14:35:12 +00:00
Richard Frith-MacDonald
ec501bcde4
Attempt to fix thread registration for GC (bug #25541 )
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27829 72102866-910b-0410-8b05-ffd578937521
2009-02-10 12:16:40 +00:00
Richard Frith-MacDonald
940de12cab
More garbage collection updates/fixes.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27590 72102866-910b-0410-8b05-ffd578937521
2009-01-13 15:57:38 +00:00
Richard Frith-MacDonald
952af9c197
garbage collection fixups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27578 72102866-910b-0410-8b05-ffd578937521
2009-01-12 12:48:46 +00:00
Richard Frith-MacDonald
ac3eb1fbce
Make this a bit more robust
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26864 72102866-910b-0410-8b05-ffd578937521
2008-09-23 08:10:59 +00:00
Richard Frith-MacDonald
0ecc6aba60
try to make tread performer firing more robust
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26856 72102866-910b-0410-8b05-ffd578937521
2008-09-18 08:22:53 +00:00
Richard Frith-MacDonald
b2b14398d2
allow developers more time to adapt to LGPLv3
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26606 72102866-910b-0410-8b05-ffd578937521
2008-06-08 10:38:33 +00:00
Richard Frith-MacDonald
04be752037
Close pipes on invalidation
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26341 72102866-910b-0410-8b05-ffd578937521
2008-03-18 05:55:32 +00:00
Richard Frith-MacDonald
f7fd0a7bec
More thread changes for MacOS-X compatibility
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26340 72102866-910b-0410-8b05-ffd578937521
2008-03-18 05:45:05 +00:00
Richard Frith-MacDonald
5d8174ac84
Complete update of NSThread for MacOS-X 10.5 compatibility. Needs testing.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26332 72102866-910b-0410-8b05-ffd578937521
2008-03-17 15:23:11 +00:00
Richard Frith-MacDonald
98b7ad73d0
Fix typo in comment
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26041 72102866-910b-0410-8b05-ffd578937521
2008-02-08 13:35:50 +00:00
Richard Frith-MacDonald
9e1a7d5870
Clarify thread detach error
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25880 72102866-910b-0410-8b05-ffd578937521
2008-01-06 08:56:59 +00:00
Richard Frith-MacDonald
a6c91ff216
Implement stack size limit. Add workaround for versions of libobjc which
...
leak thread memory.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25790 72102866-910b-0410-8b05-ffd578937521
2007-12-27 07:02:27 +00:00
Richard Frith-MacDonald
8dc5f2ad2f
destroy graphics context on thread exit.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25787 72102866-910b-0410-8b05-ffd578937521
2007-12-25 20:31:24 +00:00
Richard Frith-MacDonald
7adfdadc0e
Improve error message on thread creation failure
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25784 72102866-910b-0410-8b05-ffd578937521
2007-12-25 14:13:18 +00:00
Richard Frith-MacDonald
c6e8018204
improve debug/error logging a little.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25780 72102866-910b-0410-8b05-ffd578937521
2007-12-24 20:51:19 +00:00
Richard Frith-MacDonald
af737363bc
Fix memory leak.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25779 72102866-910b-0410-8b05-ffd578937521
2007-12-24 17:31:52 +00:00
Richard Frith-MacDonald
9c36ec10dd
Improved stacktrace/debug handling.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25667 72102866-910b-0410-8b05-ffd578937521
2007-12-03 14:13:57 +00:00
Richard Frith-MacDonald
635c255ed2
NSThread updates and cleanup
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25608 72102866-910b-0410-8b05-ffd578937521
2007-11-25 14:49:05 +00:00
Richard Frith-MacDonald
cc2f12f523
Implement part of MacOS 10.5 additions for NSThread.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25607 72102866-910b-0410-8b05-ffd578937521
2007-11-25 14:25:26 +00:00