From 1076ed28ab7977f9024a408878cdc53d75e7de3c Mon Sep 17 00:00:00 2001 From: richard Date: Tue, 5 Dec 2000 17:38:08 +0000 Subject: [PATCH] Additional thread safety fixes git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@8254 72102866-910b-0410-8b05-ffd578937521 --- Source/GSTcpPort.m | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/GSTcpPort.m b/Source/GSTcpPort.m index 23d6b4417..6b543fd3d 100644 --- a/Source/GSTcpPort.m +++ b/Source/GSTcpPort.m @@ -1312,6 +1312,7 @@ static Class tcpPortClass; if (thePorts != 0) { port = (GSTcpPort*)NSMapGet(thePorts, (void*)aHost); + IF_NO_GC(AUTORELEASE(RETAIN(port))); } [tcpPortLock unlock]; return port; @@ -1510,12 +1511,13 @@ static Class tcpPortClass; NSMapInsert(thePorts, (void*)aHost, (void*)port); NSDebugMLLog(@"NSPort", @"Created speaking port: %@", port); } - IF_NO_GC(AUTORELEASE(port)); } else { + RETAIN(port); NSDebugMLLog(@"NSPort", @"Using pre-existing port: %@", port); } + IF_NO_GC(AUTORELEASE(port)); [tcpPortLock unlock]; return port; @@ -1806,7 +1808,7 @@ static Class tcpPortClass; { DO_LOCK(myLock); handle = (GSTcpHandle*)NSMapGet(handles, (void*)(gsaddr)desc); - AUTORELEASE(RETAIN(handle)); + IF_NO_GC(AUTORELEASE(RETAIN(handle))); DO_UNLOCK(myLock); if (handle == nil) {