[Erp5-report] r28957 - in /erp5/trunk/products: CMFActivity/ ERP5/Tool/ TimerService/timers...

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Sep 11 15:06:46 CEST 2009


Author: vincent
Date: Fri Sep 11 15:06:45 2009
New Revision: 28957

URL: http://svn.erp5.org?rev=28957&view=rev
Log:
Remove the need to resolve hostname to determine node identifier when http server explicitely listens on a non-wilcard address.
Also, fix timerserver startup when http server listens on a non-wilcard address.

Modified:
    erp5/trunk/products/CMFActivity/ActivityTool.py
    erp5/trunk/products/ERP5/Tool/AlarmTool.py
    erp5/trunk/products/TimerService/timerserver/timerserver/TimerServer.py

Modified: erp5/trunk/products/CMFActivity/ActivityTool.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/ActivityTool.py?rev=28957&r1=28956&r2=28957&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/ActivityTool.py [utf8] (original)
+++ erp5/trunk/products/CMFActivity/ActivityTool.py [utf8] Fri Sep 11 15:06:45 2009
@@ -692,16 +692,17 @@
         """ Return current node in form ip:port """
         global currentNode
         if currentNode is None:
-          port = ''
+          ip = port = ''
           from asyncore import socket_map
           for k, v in socket_map.items():
-              if hasattr(v, 'port'):
+              if hasattr(v, 'addr'):
                   # see Zope/lib/python/App/ApplicationManager.py: def getServers(self)
                   type = str(getattr(v, '__class__', 'unknown'))
                   if type == 'ZServer.HTTPServer.zhttp_server':
-                      port = v.port
+                      ip, port = v.addr
                       break
-          ip = socket.gethostbyname(socket.gethostname())
+          if ip == '0.0.0.0':
+            ip = socket.gethostbyname(socket.gethostname())
           currentNode = '%s:%s' %(ip, port)
         return currentNode
         

Modified: erp5/trunk/products/ERP5/Tool/AlarmTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/AlarmTool.py?rev=28957&r1=28956&r2=28957&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/AlarmTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Tool/AlarmTool.py [utf8] Fri Sep 11 15:06:45 2009
@@ -226,16 +226,17 @@
       """ Return current node in form ip:port """
       global current_node
       if current_node is None:
-        port = ''
+        ip = port = ''
         from asyncore import socket_map
         for k, v in socket_map.items():
-            if hasattr(v, 'port'):
+            if hasattr(v, 'addr'):
                 # see Zope/lib/python/App/ApplicationManager.py: def getServers(self)
                 type = str(getattr(v, '__class__', 'unknown'))
                 if type == 'ZServer.HTTPServer.zhttp_server':
-                    port = v.port
+                    ip, port = v.addr
                     break
-        ip = socket.gethostbyname(socket.gethostname())
+        if ip == '0.0.0.0':
+          ip = socket.gethostbyname(socket.gethostname())
         current_node = '%s:%s' %(ip, port)
       return current_node
       

Modified: erp5/trunk/products/TimerService/timerserver/timerserver/TimerServer.py
URL: http://svn.erp5.org/erp5/trunk/products/TimerService/timerserver/timerserver/TimerServer.py?rev=28957&r1=28956&r2=28957&view=diff
==============================================================================
--- erp5/trunk/products/TimerService/timerserver/timerserver/TimerServer.py [utf8] (original)
+++ erp5/trunk/products/TimerService/timerserver/timerserver/TimerServer.py [utf8] Fri Sep 11 15:06:45 2009
@@ -40,19 +40,21 @@
         # wait until the zhttp_server exist in socket_map
         # because TimerService has to be started after the Zope HTTPServer
         from asyncore import socket_map
+        ip = port = ''
         while 1:
             time.sleep(5)
             for k, v in socket_map.items():
-                if hasattr(v, 'port'):
+                if hasattr(v, 'addr'):
                         # see Zope/lib/python/App/ApplicationManager.py: def getServers(self)
                         type = str(getattr(v, '__class__', 'unknown'))
                         if type == 'ZServer.HTTPServer.zhttp_server':
-                            port = v.port
+                            ip, port = v.addr
                             break
             if port:
                 break
 
-        ip = socket.gethostbyname(socket.gethostname())
+        if ip == '0.0.0.0':
+          ip = socket.gethostbyname(socket.gethostname())
 
         # To be very sure, try to connect to the HTTPServer
         # and only start after we are able to connect and got a response




More information about the Erp5-report mailing list