Build in mechanism to break stale locks.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26089 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2008-02-18 16:20:11 +00:00
parent b8c37c9729
commit 7b2dc802c1

View file

@ -156,6 +156,21 @@ static void clean_up_names(void)
{ {
[NSThread sleepForTimeInterval: 0.1]; [NSThread sleepForTimeInterval: 0.1];
} }
else
{
if ([[dl lockDate] timeIntervalSinceNow] < -15.0)
{
NS_DURING
{
[dl breakLock];
}
NS_HANDLER
{
NSLog(@"Failed to break lock on names for "
@"NSMessagePortNameServer: %@", localException);
}
NS_ENDHANDLER
}
else else
{ {
NSLog(@"Failed to lock names for NSMessagePortNameServer"); NSLog(@"Failed to lock names for NSMessagePortNameServer");
@ -163,6 +178,7 @@ static void clean_up_names(void)
} }
} }
} }
}
return dl; return dl;
} }