mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
double locking fixes by David Ayers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14428 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
dadcd7f022
commit
a3fe00f974
3 changed files with 19 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2002-09-10 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/GSLocale.m: Double locking check fix
|
||||
* Source/NSFileManager.m: Double locking check fix
|
||||
Fixes contributed by David Ayers <d.ayers@inode.at>
|
||||
|
||||
2002-09-08 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Headers/gnustep/base/GSIArray.h: Minor optimisation
|
||||
|
|
|
@ -196,7 +196,14 @@ GSDomainFromDefaultLocale(void)
|
|||
}
|
||||
|
||||
[gnustep_global_lock lock];
|
||||
saved = [dict mutableCopy];
|
||||
/*
|
||||
* Another thread might have been faster in setting the static variable.
|
||||
* If so, we just drop our dict.
|
||||
*/
|
||||
if (saved == nil)
|
||||
{
|
||||
saved = [dict mutableCopy];
|
||||
}
|
||||
[gnustep_global_lock unlock];
|
||||
return saved;
|
||||
#else /* HAVE_LANGINFO_H */
|
||||
|
|
|
@ -189,12 +189,15 @@ static NSFileManager* defaultManager = nil;
|
|||
|
||||
+ (NSFileManager*) defaultManager
|
||||
{
|
||||
if (!defaultManager)
|
||||
if (defaultManager == nil)
|
||||
{
|
||||
NS_DURING
|
||||
{
|
||||
[gnustep_global_lock lock];
|
||||
defaultManager = [[self alloc] init];
|
||||
if (defaultManager == nil)
|
||||
{
|
||||
defaultManager = [[self alloc] init];
|
||||
}
|
||||
[gnustep_global_lock unlock];
|
||||
}
|
||||
NS_HANDLER
|
||||
|
|
Loading…
Reference in a new issue