Commit graph

54 commits

Author SHA1 Message Date
mccallum
8791694a84 (NSBecomingMultiThreaded, NSThreadExiting): Initialize the
notification strings as static strings, not in +initialize.
(thread_id_2_nsthread): Renamed from THREAD_LIST.  Keep the collection
of NSThread's as a maptable, not a NSArray that takes linear time to
search!
(thread_lock): Renamed from THREAD_LIST_LOCK.
(entered_multi_threaded_state): Renamed from ENTERED_MULTI-THREADED_STATE.
([NSThread +initialize]): Don't initialize notification strings here.
Don't autorelease the lock!
([NSThread -init]): Initialize _thread_autorelease_pool.  Set our
thread data to self, for easy, efficient access to this NSThread
object later.  Put ourselves in the thread collection here, not in
+detach...
([NSThread +currentThread]): This will be called often and needs to be
fast.  Reimplemented so we don't have to acquire a lock and step
through an NSArray of threads; instead, just look ourselves up with
the objc_thread_get_data(), and furthermore, no lock required.
([NSThread +detachNewThreadSelector:toTarget:withObject:]): Avoid race
condition, don't create new NSThread object here.
([NSThread +sleepUntilDate:]): Call -notImplemented:.
([NSThread +exit]): Properly post NSThreadExiting notification, making
sure not to hold the lock while we do so.  Get the NSThread object
efficiently.
([NSThread -threadId]): Removed unnecessary private method.
([NSThread -setThreadId]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1530 72102866-910b-0410-8b05-ffd578937521
1996-05-13 15:53:36 +00:00
mccallum
43874eeb94 Preparation for thread-safety.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1517 72102866-910b-0410-8b05-ffd578937521
1996-05-12 00:38:45 +00:00
mccallum
6165857149 Fix indentation.
([NSThread +currentThread]): Add parenthesis around assignment inside
while.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1213 72102866-910b-0410-8b05-ffd578937521
1996-03-19 01:45:25 +00:00
mccallum
af3f9994e4 New files from Scott Christley
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@914 72102866-910b-0410-8b05-ffd578937521
1996-02-13 15:40:05 +00:00