inconsistency between Cocoa (and OpenStep) and GNUstep.
Reinstatement of correction for bug #25307. Testing on both OpenStep
and on Cocoa clearly illustrates that throwing an exception in this
case was incorrect. It now emits a warning when the lock is attempted
again, but does not throw an exception.
* Testing/locktest/locktest.m: Change to test to correctly test
[NSConditionLock lock]
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27726 72102866-910b-0410-8b05-ffd578937521
documentation, NSConditionLock should return NO, if the lock is
unavailable. No exception should be thrown.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27612 72102866-910b-0410-8b05-ffd578937521
_condition opaic to avoid including private thr-mach.h header.
* Headers/Foundation/NSThread.h: Do not include private
thr-mach.h header.
* Source/thr-mach.h: Moved here from
Headers/Additions/GNUstepBase/thr-mach.h.
* Source/NSLock.m: Include private thr-mach.h header for
apple-gnu-gnu. Added defines for typing opaic instance
variables and use them in various methods.
* Source/NSThread.m: Include private thr-mach.h header for
apple-gnu-gnu.
* Source/thr-mach.m: Include private thr-mach.h header from
new location.
* Source/thr-pthread.m: Ditto.
* Source/GNUmakefile: Do not install private thr-mach.h
header.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18607 72102866-910b-0410-8b05-ffd578937521
forward declaration.
* Headers/Additions/GNUstepBase/GSCategories.h: Remove
declaraion of gnustep_global_lock.
(GS_INITIALIZED_LOCK): New macro.
(+[NSLock newLockAt:]): New method.
(+[NSRecursiveLock newLockAt:]): Ditto.
* Headers/Foundation/NSLock.h: Ditto.
* Source/Additions/GSCategories.m: Replace global lock with
local lock.
(_GSLockInitializer): New class to initialize local lock
safely.
(newLockAt): New static function shared by +newLockAt:
implementations to safely intialize lock variables.
(+[NSLock newLockAt:]): Implemented and documented.
(+[NSRecursiveLock newLockAt:]): Ditto.
* Source/Additions/GSCompatibility.m: Remove
gnustep_global_lock.
* Source/Additions/GSObjCRuntime.m: Remove superfluous
locking.
* Source/Additions/Unicode.m: Use new GS_INITIALIZED_LOCK
macro and replace global lock with local lock.
* Source/NSLock.m
(-[NSConditionLock lockWhenCondition:beforeDate:]):
Implemented.
* Testing/gslock.m: New test case.
* Testing/GNUmakefile: Add new test case.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18010 72102866-910b-0410-8b05-ffd578937521
- initWithString didn't deal with adjacent format
specifiers.
NSDate.m - addTimeInterval messed up timezone if used with
CalendarDate.
NSArray.m - NSMutableArray's comparered against a garbage pointer
NSGArray.m on removal. This causes real problems on SMP machines.
NSTimeZone.m - The GMT+-xx files on OpenStep are in the root directory
and they are in Etc/* in gnustep so check both.
NSObject.m - The release code was slightly broken for SMP machine
use.
NSLock.m - Trylock was broken and lockBeforeDate unimplemented.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@5436 72102866-910b-0410-8b05-ffd578937521
directly in source files because the config.h file is system
dependent, used just for compiling the source, and should
not be installed.
Some minor bug fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2619 72102866-910b-0410-8b05-ffd578937521