diff --git a/ChangeLog b/ChangeLog index 9ad73ece2..893b83d4b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-02-17 19:21-EST Gregory John Casamento + + * Source/NSDistributedNotificationCenter.m: Added a short wait to the + _connect method when starting GDNC to correct bug#22351. + Worked with Riccardo Motolla to test this (riccardo@kaffe.org). + 2008-02-16 Richard Frith-Macdonald * Source/Additions/GSMime.m: Fix errors in code for folding header diff --git a/Source/NSDistributedNotificationCenter.m b/Source/NSDistributedNotificationCenter.m index e5fb34c8b..4d3aca6d2 100644 --- a/Source/NSDistributedNotificationCenter.m +++ b/Source/NSDistributedNotificationCenter.m @@ -42,7 +42,7 @@ #include "Foundation/NSHost.h" #include "Foundation/NSPortNameServer.h" #include "Foundation/NSDebug.h" - +#include "Foundation/NSThread.h" #include "../Tools/gdnc.h" @@ -736,6 +736,14 @@ static NSDistributedNotificationCenter *netCenter = nil; } [NSTask launchedTaskWithLaunchPath: cmd arguments: args]; + /* + * Sleep for 3 seconds to prevent excessive polling and to + * give the GDNC process some time to start. On some systems + * it is failing to start because the polling is eating up + * all of the file descriptors. + */ + [NSThread sleepForTimeInterval: 3.0]; + limit = [NSDate dateWithTimeIntervalSinceNow: 5.0]; while (_remote == nil && [limit timeIntervalSinceNow] > 0) {