Fix locking bug

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11373 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
CaS 2001-11-12 13:29:49 +00:00
parent c68d2d7b75
commit a28cf30923
2 changed files with 6 additions and 4 deletions

View file

@ -11,6 +11,8 @@
* Documentation/gsdoc/NSNumber.gsdoc: document changes. * Documentation/gsdoc/NSNumber.gsdoc: document changes.
* Documentation/gsdoc/NSString.gsdoc: document changes. * Documentation/gsdoc/NSString.gsdoc: document changes.
* Testing/values.m: Added some number output tests. * Testing/values.m: Added some number output tests.
* Source/NSUserDefaults.m: Locking bug fixed ... was locking before
lock had been created.
2001-11-09 Richard Frith-Macdonald <rfm@gnu.org> 2001-11-09 Richard Frith-Macdonald <rfm@gnu.org>

View file

@ -70,9 +70,9 @@ static Class NSDictionaryClass;
static Class NSMutableDictionaryClass; static Class NSMutableDictionaryClass;
static Class NSStringClass; static Class NSStringClass;
static NSUserDefaults *sharedDefaults = nil; static NSUserDefaults *sharedDefaults = nil;
static NSMutableString *processName = nil; static NSMutableString *processName = nil;
static NSMutableArray *userLanguages = nil; static NSMutableArray *userLanguages = nil;
static NSRecursiveLock *classLock = nil; static NSRecursiveLock *classLock = nil;
/* /*
@ -1393,11 +1393,11 @@ GSUserDefaultsDictionaryRepresentation()
{ {
NSDictionary *defs; NSDictionary *defs;
[classLock lock];
if (sharedDefaults == nil) if (sharedDefaults == nil)
{ {
[NSUserDefaults standardUserDefaults]; [NSUserDefaults standardUserDefaults];
} }
[classLock lock];
defs = [sharedDefaults dictionaryRepresentation]; defs = [sharedDefaults dictionaryRepresentation];
[classLock unlock]; [classLock unlock];
return defs; return defs;