Additional thread safety fixes

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@8254 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2000-12-05 17:38:08 +00:00
parent c12a3a8fa6
commit 8a15563642

View file

@ -1312,6 +1312,7 @@ static Class tcpPortClass;
if (thePorts != 0) if (thePorts != 0)
{ {
port = (GSTcpPort*)NSMapGet(thePorts, (void*)aHost); port = (GSTcpPort*)NSMapGet(thePorts, (void*)aHost);
IF_NO_GC(AUTORELEASE(RETAIN(port)));
} }
[tcpPortLock unlock]; [tcpPortLock unlock];
return port; return port;
@ -1510,12 +1511,13 @@ static Class tcpPortClass;
NSMapInsert(thePorts, (void*)aHost, (void*)port); NSMapInsert(thePorts, (void*)aHost, (void*)port);
NSDebugMLLog(@"NSPort", @"Created speaking port: %@", port); NSDebugMLLog(@"NSPort", @"Created speaking port: %@", port);
} }
IF_NO_GC(AUTORELEASE(port));
} }
else else
{ {
RETAIN(port);
NSDebugMLLog(@"NSPort", @"Using pre-existing port: %@", port); NSDebugMLLog(@"NSPort", @"Using pre-existing port: %@", port);
} }
IF_NO_GC(AUTORELEASE(port));
[tcpPortLock unlock]; [tcpPortLock unlock];
return port; return port;
@ -1806,7 +1808,7 @@ static Class tcpPortClass;
{ {
DO_LOCK(myLock); DO_LOCK(myLock);
handle = (GSTcpHandle*)NSMapGet(handles, (void*)(gsaddr)desc); handle = (GSTcpHandle*)NSMapGet(handles, (void*)(gsaddr)desc);
AUTORELEASE(RETAIN(handle)); IF_NO_GC(AUTORELEASE(RETAIN(handle)));
DO_UNLOCK(myLock); DO_UNLOCK(myLock);
if (handle == nil) if (handle == nil)
{ {