Don't insist on tools being in system domain

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27149 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2008-11-27 14:27:31 +00:00
parent 933c52af50
commit 3937ca0b97
2 changed files with 75 additions and 48 deletions

View file

@ -25,25 +25,26 @@
$Date$ $Revision$
*/
#include "config.h"
#include "GNUstepBase/preface.h"
#include "Foundation/NSObject.h"
#include "Foundation/NSConnection.h"
#include "Foundation/NSDistantObject.h"
#include "Foundation/NSException.h"
#include "Foundation/NSArchiver.h"
#include "Foundation/NSNotification.h"
#include "Foundation/NSDate.h"
#include "Foundation/NSPathUtilities.h"
#include "Foundation/NSRunLoop.h"
#include "Foundation/NSTask.h"
#include "Foundation/NSDistributedNotificationCenter.h"
#include "Foundation/NSUserDefaults.h"
#include "Foundation/NSHost.h"
#include "Foundation/NSPortNameServer.h"
#include "Foundation/NSDebug.h"
#include "Foundation/NSThread.h"
#include "../Tools/gdnc.h"
#import "config.h"
#import "GNUstepBase/preface.h"
#import "Foundation/NSObject.h"
#import "Foundation/NSConnection.h"
#import "Foundation/NSDistantObject.h"
#import "Foundation/NSException.h"
#import "Foundation/NSFileManager.h"
#import "Foundation/NSArchiver.h"
#import "Foundation/NSNotification.h"
#import "Foundation/NSDate.h"
#import "Foundation/NSPathUtilities.h"
#import "Foundation/NSRunLoop.h"
#import "Foundation/NSTask.h"
#import "Foundation/NSDistributedNotificationCenter.h"
#import "Foundation/NSUserDefaults.h"
#import "Foundation/NSHost.h"
#import "Foundation/NSPortNameServer.h"
#import "Foundation/NSDebug.h"
#import "Foundation/NSThread.h"
#import "../Tools/gdnc.h"
@interface NSDistributedNotificationCenter (Private)
@ -694,11 +695,23 @@ static NSDistributedNotificationCenter *netCenter = nil;
NSString *cmd = nil;
NSArray *args = nil;
NSDate *limit;
NSEnumerator *enumerator;
NSString *path;
NSFileManager *mgr;
cmd = [[NSSearchPathForDirectoriesInDomains(
GSToolsDirectory, NSSystemDomainMask, YES) objectAtIndex: 0]
stringByAppendingPathComponent: @"gdnc"];
mgr = [NSFileManager defaultManager];
enumerator = [NSSearchPathForDirectoriesInDomains(
GSToolsDirectory, NSAllDomainsMask, YES) objectEnumerator];
while ((path = [enumerator nextObject]) != nil)
{
path = [path stringByAppendingPathComponent: @"gdnc"];
if ([mgr isExecutableFileAtPath: path])
{
cmd = path;
break;
}
}
NSDebugMLLog(@"NSDistributedNotificationCenter",
@"\nI couldn't contact the notification server for %@ -\n"
@"so I'm attempting to to start one - which will take a few seconds.\n"

View file

@ -24,29 +24,30 @@
$Date$ $Revision$
*/
#include "config.h"
#include "Foundation/NSString.h"
#include "Foundation/NSData.h"
#include "Foundation/NSByteOrder.h"
#include "Foundation/NSException.h"
#include "Foundation/NSAutoreleasePool.h"
#include "Foundation/NSLock.h"
#include "Foundation/NSFileHandle.h"
#include "Foundation/NSRunLoop.h"
#include "Foundation/NSNotification.h"
#include "Foundation/NSNotificationQueue.h"
#include "Foundation/NSPort.h"
#include "Foundation/NSMapTable.h"
#include "Foundation/NSSet.h"
#include "Foundation/NSHost.h"
#include "Foundation/NSTask.h"
#include "Foundation/NSDate.h"
#include "Foundation/NSTimer.h"
#include "Foundation/NSPathUtilities.h"
#include "Foundation/NSPortNameServer.h"
#include "Foundation/NSDebug.h"
#import "config.h"
#import "Foundation/NSString.h"
#import "Foundation/NSData.h"
#import "Foundation/NSByteOrder.h"
#import "Foundation/NSException.h"
#import "Foundation/NSAutoreleasePool.h"
#import "Foundation/NSFileManager.h"
#import "Foundation/NSLock.h"
#import "Foundation/NSFileHandle.h"
#import "Foundation/NSRunLoop.h"
#import "Foundation/NSNotification.h"
#import "Foundation/NSNotificationQueue.h"
#import "Foundation/NSPort.h"
#import "Foundation/NSMapTable.h"
#import "Foundation/NSSet.h"
#import "Foundation/NSHost.h"
#import "Foundation/NSTask.h"
#import "Foundation/NSDate.h"
#import "Foundation/NSTimer.h"
#import "Foundation/NSPathUtilities.h"
#import "Foundation/NSPortNameServer.h"
#import "Foundation/NSDebug.h"
#include "GSPortPrivate.h"
#import "GSPortPrivate.h"
#ifdef __MINGW32__
#include <winsock2.h>
@ -186,9 +187,22 @@ typedef enum {
[self close];
if (launchCmd == nil)
{
launchCmd = RETAIN([[NSSearchPathForDirectoriesInDomains(
GSToolsDirectory, NSSystemDomainMask, YES) objectAtIndex: 0]
stringByAppendingPathComponent: @"gdomap"]);
NSEnumerator *enumerator;
NSString *path;
NSFileManager *mgr;
mgr = [NSFileManager defaultManager];
enumerator = [NSSearchPathForDirectoriesInDomains(
GSToolsDirectory, NSAllDomainsMask, YES) objectEnumerator];
while ((path = [enumerator nextObject]) != nil)
{
path = [path stringByAppendingPathComponent: @"gdomap"];
if ([mgr isExecutableFileAtPath: path])
{
launchCmd = path;
break;
}
}
}
if (state == GSPC_LOPEN && launchCmd != nil)
{