Author: wlux
Date: Sun Nov 2 23:11:55 2014
New Revision: 38151
URL: http://svn.gna.org/viewcvs/gnustep?rev=38151&view=rev
Log:
Force use of a socket port name server to look up servers on other hosts.
Modified:
libs/steptalk/trunk/ChangeLog
libs/steptalk/trunk/Frameworks/StepTalk/STRemoteConversation.m
Modified: libs/steptalk/trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/gnustep/libs/steptalk/trunk/ChangeLog?rev=38151&r1=38150&r2=38151&view=diff
==============================================================================
--- libs/steptalk/trunk/ChangeLog (original)
+++ libs/steptalk/trunk/ChangeLog Sun Nov 2 23:11:55 2014
@@ -1,6 +1,11 @@
2014-11-02 Wolfgang Lux <[email protected]>
- * Frameworks/StepTalk/STRemoteConversation.m (connectionDidDie:):
+ * Frameworks/StepTalk/STRemoteConversation.m (-open): Force use of
+ a socket port name server to look up servers on other hosts.
+
+2014-11-02 Wolfgang Lux <[email protected]>
+
+ * Frameworks/StepTalk/STRemoteConversation.m (-connectionDidDie:):
Fix leak of the proxy and environmentProcess attributes when a
connection died.
Modified: libs/steptalk/trunk/Frameworks/StepTalk/STRemoteConversation.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/steptalk/trunk/Frameworks/StepTalk/STRemoteConversation.m?rev=38151&r1=38150&r2=38151&view=diff
==============================================================================
--- libs/steptalk/trunk/Frameworks/StepTalk/STRemoteConversation.m
(original)
+++ libs/steptalk/trunk/Frameworks/StepTalk/STRemoteConversation.m Sun Nov
2 23:11:55 2014
@@ -6,6 +6,7 @@
#import <Foundation/NSNotification.h>
#import <Foundation/NSConnection.h>
#import <Foundation/NSDistantObject.h>
+#import <Foundation/NSPortNameServer.h>
#import "STEnvironment.h"
@@ -34,23 +35,29 @@
- (void)open
{
NSString *envProcName;
-
- if(connection)
+ NSPortNameServer *nameServer;
+
+ if (connection)
{
[NSException raise:@"STConversationException"
format:@"Unable to open conversation: already opened."];
return;
}
-
- envProcName = [NSString stringWithFormat:@"STEnvironment:%@",
+
+ envProcName = [NSString stringWithFormat:@"STEnvironment:%@",
environmentName];
- connection = [NSConnection connectionWithRegisteredName:envProcName
- host:hostName];
+ if ([hostName length] > 0)
+ nameServer = [NSSocketPortNameServer sharedInstance];
+ else
+ nameServer = [NSPortNameServer systemDefaultPortNameServer];
+ connection = [NSConnection connectionWithRegisteredName:envProcName
+ host:hostName
+ usingNameServer:nameServer];
RETAIN(connection);
- if(!connection)
+ if (!connection)
{
[NSException raise:@"STConversationException"
format:@"Connection failed for environment '%@'",
@@ -61,11 +68,11 @@
environmentProcess = RETAIN([connection rootProxy]);
proxy = RETAIN([environmentProcess createConversation]);
[proxy setProtocolForProxy:@protocol(STConversation)];
-
+
[[NSNotificationCenter defaultCenter]
addObserver: self
selector: @selector(connectionDidDie:)
- name: NSConnectionDidDieNotification
+ name: NSConnectionDidDieNotification
object: connection];
}
- (void)close
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs