Commit graph

194 commits

Author SHA1 Message Date
Richard Frith-MacDonald
0306683e63 iCreate mapt able lazily
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39382 72102866-910b-0410-8b05-ffd578937521
2016-02-16 22:28:34 +00:00
Richard Frith-MacDonald
44165e9bcc Fixup for mistake in earlier commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39374 72102866-910b-0410-8b05-ffd578937521
2016-02-15 11:07:44 +00:00
Richard Frith-MacDonald
8a2bfb18b8 Fix recursion when looking up the current thread
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39351 72102866-910b-0410-8b05-ffd578937521
2016-02-10 10:22:43 +00:00
Richard Frith-MacDonald
da2f52bf56 Tweaks to avoid compiler warnings, and consistently use ref counting macros.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39350 72102866-910b-0410-8b05-ffd578937521
2016-02-10 09:15:10 +00:00
Niels Grewe
b0afa17bed Add automatic unregistration of threads that have not been
been explicitly unregistered. This works by keeping around 
a map table with all threads currently undergoing cleanup, 
and using that as a fallback if pthread_getspecific would
not return the NSThread object from TLS. 


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39318 72102866-910b-0410-8b05-ffd578937521
2016-01-29 13:42:07 +00:00
Richard Frith-MacDonald
ac53087213 Fixup bad report of selector in an exception in runloop
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39023 72102866-910b-0410-8b05-ffd578937521
2015-10-03 17:38:21 +00:00
Richard Frith-MacDonald
b571ae5fb9 improve logging of threwad id on premature exit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38791 72102866-910b-0410-8b05-ffd578937521
2015-07-14 18:05:55 +00:00
Richard Frith-MacDonald
999fda788a Thread diagnositc changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38768 72102866-910b-0410-8b05-ffd578937521
2015-07-08 12:54:15 +00:00
Richard Frith-MacDonald
422356c19f Try to better handle exception in method in another thread
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38448 72102866-910b-0410-8b05-ffd578937521
2015-04-02 15:59:48 +00:00
Richard Frith-MacDonald
a79dd60102 Impement test for main thread on linux
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38443 72102866-910b-0410-8b05-ffd578937521
2015-03-31 09:45:40 +00:00
Richard Frith-MacDonald
8a265fe615 Improve thread ID and name code to match OSX. Add some initial getaddrinfo code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38442 72102866-910b-0410-8b05-ffd578937521
2015-03-31 09:14:01 +00:00
Richard Frith-MacDonald
9fcfab1a93 fix for bug # 44240
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38340 72102866-910b-0410-8b05-ffd578937521
2015-02-14 05:50:48 +00:00
Richard Frith-MacDonald
1fa5505332 another mingw infconfig simplification to hopefully work with new mingw
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38336 72102866-910b-0410-8b05-ffd578937521
2015-02-07 11:01:53 +00:00
Wolfgang Lux
becd0e8a83 Fix detection of the proper pthread_setname_np and pthread_set_name_np
variants on FreeBSD, OpenBSD and Darwin.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38266 72102866-910b-0410-8b05-ffd578937521
2014-12-28 13:19:19 +00:00
Richard Frith-MacDonald
e6ed085192 integrate patch from johannes@brilliantservice.co.jp
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38212 72102866-910b-0410-8b05-ffd578937521
2014-11-28 18:38:24 +00:00
Richard Frith-MacDonald
50984de599 try to make thread synchronisation I/O cleaner and perhaps safer if we do
something like run out of file descriptors for the pipe.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38153 72102866-910b-0410-8b05-ffd578937521
2014-11-04 09:08:47 +00:00
Richard Frith-MacDonald
e50bb2e496 added OSX convenience method
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36966 72102866-910b-0410-8b05-ffd578937521
2013-08-12 08:56:18 +00:00
Richard Frith-MacDonald
da4f7056ca printf style format tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36799 72102866-910b-0410-8b05-ffd578937521
2013-07-02 15:46:26 +00:00
Richard Frith-MacDonald
b9e2c4dc17 fix error checking for perform on finished thread
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36057 72102866-910b-0410-8b05-ffd578937521
2013-02-03 06:31:03 +00:00
Richard Frith-MacDonald
3f773a24fc improve system error messages
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35764 72102866-910b-0410-8b05-ffd578937521
2012-10-30 13:35:00 +00:00
Niels Grewe
ee4052bf6d Compatibility improvements for QNX.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35451 72102866-910b-0410-8b05-ffd578937521
2012-08-26 08:55:49 +00:00
Richard Frith-MacDonald
e47d619b47 fix thread scheduling test (provided by Sebastian Reitenbach <buzzdee>)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35276 72102866-910b-0410-8b05-ffd578937521
2012-07-09 11:03:56 +00:00
Richard Frith-MacDonald
32fc733268 changes to support alternative header locations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34290 72102866-910b-0410-8b05-ffd578937521
2011-12-15 09:42:39 +00:00
Richard Frith-MacDonald
eb8b275c1f internal workaround for clang namespace pollution.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33993 72102866-910b-0410-8b05-ffd578937521
2011-10-14 15:46:13 +00:00
Richard Frith-MacDonald
fbdcab1d55 solaris thread-saff errrno fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33983 72102866-910b-0410-8b05-ffd578937521
2011-10-14 11:40:34 +00:00
Gregory John Casamento
f0c2282319 Shorten the error message here. Move the bulk of the explaination into README.initialize in the Documentation folder.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33909 72102866-910b-0410-8b05-ffd578937521
2011-09-29 17:04:13 +00:00
Fred Kiefer
00c8832228 Remove some of the compiler warnings on system without clang or ICU.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33680 72102866-910b-0410-8b05-ffd578937521
2011-08-02 08:33:33 +00:00
Richard Frith-MacDonald
44979bb7f4 fix faulty assert
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33560 72102866-910b-0410-8b05-ffd578937521
2011-07-15 13:46:51 +00:00
Richard Frith-MacDonald
497cb2af93 ssh handshake improvements and consmetic tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33535 72102866-910b-0410-8b05-ffd578937521
2011-07-12 11:40:15 +00:00
David Chisnall
a64f21744d Do the things from the last commit in the correct order.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33523 72102866-910b-0410-8b05-ffd578937521
2011-07-11 15:12:47 +00:00
David Chisnall
6893ce1a95 Lazily initialize POSIX threads, matching OS X behaviour and stopping us from crashing when calling autorelease from a thread that was not previously registered explicitly (yuck!)
Also do some quite hacky (and not totally correct) things to try to make sure that we aren't confused into thinking that the first NSThread is the main thread, if it's created on a separate thread.  Currently only supported on FreeBSD and OpenBSD.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33521 72102866-910b-0410-8b05-ffd578937521
2011-07-11 14:31:36 +00:00
David Chisnall
de2fd8df6e More GC fixes. Most notably, mark the thread object as not collectable, since it's hidden away in TLS where the GC can't find it.
GC now works well enough for LanguageKit to run.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33123 72102866-910b-0410-8b05-ffd578937521
2011-05-26 13:24:13 +00:00
Richard Frith-MacDonald
c56633fb1b fix leak and weak docs a little
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32767 72102866-910b-0410-8b05-ffd578937521
2011-04-03 19:14:29 +00:00
Richard Frith-MacDonald
21371b2c5e improve thread safety warning
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32604 72102866-910b-0410-8b05-ffd578937521
2011-03-16 12:17:02 +00:00
Richard Frith-MacDonald
632f053008 remove obsolete code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32467 72102866-910b-0410-8b05-ffd578937521
2011-03-06 05:18:01 +00:00
Richard Frith-MacDonald
03233198f7 Warn about using an unsafe +initialize
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32455 72102866-910b-0410-8b05-ffd578937521
2011-03-05 13:11:47 +00:00
Richard Frith-MacDonald
d18e29dde8 avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32417 72102866-910b-0410-8b05-ffd578937521
2011-02-28 19:49:57 +00:00
Richard Frith-MacDonald
05e186ac65 fix gc heade rlocation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32388 72102866-910b-0410-8b05-ffd578937521
2011-02-27 17:53:14 +00:00
Richard Frith-MacDonald
7047f9e6d4 more changes to avoid leak warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32093 72102866-910b-0410-8b05-ffd578937521
2011-02-12 09:00:18 +00:00
Richard Frith-MacDonald
705e1a32ca Attempts to prevent leak warnings from static analyser
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32090 72102866-910b-0410-8b05-ffd578937521
2011-02-12 06:51:42 +00:00
Richard Frith-MacDonald
b36fbab52f Avoid some locking
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32086 72102866-910b-0410-8b05-ffd578937521
2011-02-11 19:08:32 +00:00
Richard Frith-MacDonald
336c7bf021 Revert back to working code!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32072 72102866-910b-0410-8b05-ffd578937521
2011-02-11 13:53:54 +00:00
David Chisnall
a67ed22c01 Remove a lock that is protecting thread-local storage. Stop leaking NSThread objects that are stored in thread-local storage.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32070 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:54:59 +00:00
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