Browse Source

possible fix for trak#111

git-svn-id: svn://bind10.isc.org/svn/bind10/trunk@1550 e5f2f494-b856-4b98-b285-d166d9295462
Michael Graff 15 years ago
parent
commit
09c917dedf
2 changed files with 13 additions and 3 deletions
  1. 6 1
      src/lib/cc/session.cc
  2. 7 2
      src/lib/python/isc/cc/session.py

+ 6 - 1
src/lib/cc/session.cc

@@ -220,9 +220,14 @@ SocketSession::establish() {
     if (s < 0) {
         isc_throw(SessionError, "socket() failed");
     }
+    
+    int port = atoi(getenv("ISC_MSGQ_PORT"));
+    if (port == 0) {
+        port = 9912;
+    }
 
     sin.sin_family = AF_INET;
-    sin.sin_port = htons(9912);
+    sin.sin_port = htons(port);
     sin.sin_addr.s_addr = INADDR_ANY;
 
 #ifdef HAVE_SIN_LEN

+ 7 - 2
src/lib/python/isc/cc/session.py

@@ -16,8 +16,8 @@
 import sys
 import socket
 import struct
+import os
 
-#from isc.cc import message
 import isc.cc.message
 
 class ProtocolError(Exception): pass
@@ -25,7 +25,7 @@ class NetworkError(Exception): pass
 class SessionError(Exception): pass
 
 class Session:
-    def __init__(self, port=9912):
+    def __init__(self, port=0):
         self._socket = None
         self._lname = None
         self._recvbuffer = bytearray()
@@ -34,6 +34,11 @@ class Session:
         self._closed = False
         self._queue = []
 
+        if port == 0 and 'B10_FROM_SOURCE' in os.environ:
+	  port = int(os.environ["ISC_MSGQ_PORT"])
+	else:
+	  port = 9912
+
         try:
             self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
             self._socket.connect(tuple(['127.0.0.1', port]))