Minor fix for invalidation error.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13513 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-Macdonald 2002-04-19 17:22:49 +00:00
parent 0cb5f21e15
commit 6b2a8a838c
2 changed files with 13 additions and 4 deletions

View file

@ -2,6 +2,9 @@
* Tools/gdnc.m: If given -NSHost specification for the current host,
ignore it and use the standard name.
* Source/GSTcpPort.m: ([-invalidate]) call superclass implementation
at end ... so handles can find this port when they are destroying
themselves. Reverses last change I made to this.
2002-04-18 Richard Frith-Macdonald <rfm@gnu.org>

View file

@ -1769,8 +1769,6 @@ static Class tcpPortClass;
NSArray *handleArray;
unsigned i;
[super invalidate]; // Avoid recursive calls
[tcpPortLock lock];
thePorts = NSMapGet(tcpPortMap, (void*)(gsaddr)portNum);
if (thePorts != 0)
@ -1794,9 +1792,17 @@ static Class tcpPortClass;
[handle invalidate];
}
NSFreeMapTable(handles);
handles = 0;
/*
* We permit mutual recursive invalidation, so the handles map
* may already have been destroyed.
*/
if (handles != 0)
{
NSFreeMapTable(handles);
handles = 0;
}
}
[super invalidate];
}
DO_UNLOCK(myLock);
}