Fix for crash/hang in port invalidation

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11399 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-Macdonald 2001-11-13 14:23:35 +00:00
parent 2f04810b22
commit f4c72923ff
2 changed files with 4 additions and 0 deletions

View file

@ -8,6 +8,8 @@
has now implemented an equivalent for the GNUstep method.
* Source/NSPortNameServer.m: When removing a port, remove from
internal name tables even if gdomap reports no name to unregister.
In ([-removePort:]) retain set of names for duration of operation -
fix suggested by Gerrit Van Dyk
2001-11-12 Richard Frith-Macdonald <rfm@gnu.org>

View file

@ -1089,6 +1089,7 @@ typedef enum {
NSMutableSet *known = (NSMutableSet*)NSMapGet(_portMap, port);
NSString *name;
RETAIN(known);
while ((name = [known anyObject]) != nil)
{
if ([self removePortForName: name] == NO)
@ -1096,6 +1097,7 @@ typedef enum {
ok = NO;
}
}
RELEASE(known);
}
NS_HANDLER
{