瀏覽代碼

Import text_socket explicitly only where it is required

Mike Naberezny 10 年之前
父節點
當前提交
9ff7f51b86

+ 4 - 3
supervisor/datatypes.py

@@ -2,12 +2,13 @@ import grp
 import os
 import pwd
 import signal
-import supervisor.medusa.text_socket as socket
+import socket
 import shlex
 
 from supervisor.compat import urlparse
 from supervisor.compat import long
 from supervisor.loggers import getLevelNumByDescription
+from supervisor.medusa import text_socket
 
 here = None
 
@@ -204,7 +205,7 @@ class InetStreamSocketConfig(SocketConfig):
         return self.host, self.port
 
     def create_and_bind(self):
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+        sock = text_socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         try:
             sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
             sock.bind(self.addr())
@@ -233,7 +234,7 @@ class UnixStreamSocketConfig(SocketConfig):
     def create_and_bind(self):
         if os.path.exists(self.path):
             os.unlink(self.path)
-        sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+        sock = text_socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
         try:
             sock.bind(self.addr())
             self._chown()

+ 5 - 4
supervisor/http.py

@@ -2,7 +2,7 @@ import os
 import stat
 import time
 import sys
-import supervisor.medusa.text_socket as socket
+import socket
 import errno
 import pwd
 import weakref
@@ -16,6 +16,7 @@ from supervisor.medusa import http_server
 from supervisor.medusa import producers
 from supervisor.medusa import filesys
 from supervisor.medusa import default_handler
+from supervisor.medusa import text_socket
 
 from supervisor.medusa.auth_handler import auth_handler
 
@@ -524,7 +525,7 @@ class supervisor_af_inet_http_server(supervisor_http_server):
     def __init__(self, ip, port, logger_object):
         self.ip = ip
         self.port = port
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+        sock = text_socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.prebind(sock, logger_object)
         self.bind((ip, port))
 
@@ -569,7 +570,7 @@ class supervisor_af_unix_http_server(supervisor_http_server):
             pass
 
         while 1:
-            sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+            sock = text_socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
             try:
                 sock.bind(tempname)
                 os.chmod(tempname, sockchmod)
@@ -623,7 +624,7 @@ class supervisor_af_unix_http_server(supervisor_http_server):
         self.postbind()
 
     def checkused(self, socketname):
-        s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+        s = text_socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
         try:
             s.connect(socketname)
             s.send("GET / HTTP/1.0\r\n\r\n")

+ 1 - 1
supervisor/http_client.py

@@ -1,7 +1,7 @@
 # this code based on Daniel Krech's RDFLib HTTP client code (see rdflib.net)
 
 import sys
-import supervisor.medusa.text_socket as socket
+import socket
 
 from supervisor.compat import urlparse
 from supervisor.compat import as_bytes

+ 1 - 1
supervisor/medusa/asynchat_25.py

@@ -46,7 +46,7 @@ method) up to the terminator, and then control will be returned to
 you - by calling your self.found_terminator() method.
 """
 
-import supervisor.medusa.text_socket as socket
+import socket
 from supervisor.medusa import asyncore_25 as asyncore
 from supervisor.compat import long
 

+ 3 - 2
supervisor/medusa/asyncore_25.py

@@ -47,7 +47,7 @@ sophisticated high-performance network servers and clients a snap.
 """
 
 import select
-import supervisor.medusa.text_socket as socket
+import socket
 import sys
 import time
 
@@ -56,6 +56,7 @@ from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, \
      ENOTCONN, ESHUTDOWN, EINTR, EISCONN, errorcode
 
 from supervisor.compat import as_string, as_bytes
+from supervisor.medusa import text_socket
 
 try:
     socket_map
@@ -256,7 +257,7 @@ class dispatcher:
 
     def create_socket(self, family, type):
         self.family_and_type = family, type
-        self.socket = socket.socket(family, type)
+        self.socket = text_socket.socket(family, type)
         self.socket.setblocking(0)
         self._fileno = self.socket.fileno()
         self.add_channel()

+ 1 - 1
supervisor/medusa/http_server.py

@@ -8,7 +8,7 @@ RCS_ID =  '$Id: http_server.py,v 1.12 2004/04/21 15:11:44 akuchling Exp $'
 
 # python modules
 import re
-import supervisor.medusa.text_socket as socket
+import socket
 import sys
 import time
 

+ 1 - 1
supervisor/medusa/logger.py

@@ -1,7 +1,7 @@
 # -*- Mode: Python -*-
 
 import supervisor.medusa.asynchat_25 as asynchat
-import supervisor.medusa.text_socket as socket
+import socket
 import time         # these three are for the rotating logger
 import os           # |
 import stat         # v

+ 1 - 1
supervisor/options.py

@@ -1,4 +1,4 @@
-import supervisor.medusa.text_socket as socket
+import socket
 import getopt
 import os
 import sys

+ 16 - 16
supervisor/socket_manager.py

@@ -1,10 +1,10 @@
-import supervisor.medusa.text_socket as socket
+import socket
 
 class Proxy:
     """ Class for wrapping a shared resource object and getting
         notified when it's deleted
     """
-    
+
     def __init__(self, object, **kwargs):
         self.object = object
         self.on_delete = kwargs.get('on_delete', None)
@@ -12,30 +12,30 @@ class Proxy:
     def __del__(self):
         if self.on_delete:
             self.on_delete()
-    
+
     def __getattr__(self, name):
         return getattr(self.object, name)
-        
+
     def _get(self):
         return self.object
-        
+
 class ReferenceCounter:
     """ Class for tracking references to a shared resource
     """
-    
+
     def __init__(self, **kwargs):
         self.on_non_zero = kwargs['on_non_zero']
         self.on_zero = kwargs['on_zero']
         self.ref_count = 0
-    
+
     def get_count(self):
         return self.ref_count
-    
+
     def increment(self):
         if self.ref_count == 0:
             self.on_non_zero()
         self.ref_count += 1
-        
+
     def decrement(self):
         if self.ref_count <= 0:
             raise Exception('Illegal operation: cannot decrement below zero')
@@ -45,11 +45,11 @@ class ReferenceCounter:
 
 class SocketManager:
     """ Class for managing sockets in servers that create/bind/listen
-        before forking multiple child processes to accept() 
+        before forking multiple child processes to accept()
         Sockets are managed at the process group level and referenced counted
         at the process level b/c that's really the only place to hook in
     """
-    
+
     def __init__(self, socket_config, **kwargs):
         self.logger = kwargs.get('logger', None)
         self.socket = None
@@ -58,7 +58,7 @@ class SocketManager:
         self.ref_ctr = ReferenceCounter(
             on_zero=self._close, on_non_zero=self._prepare_socket
             )
-        
+
     def __repr__(self):
         return '<%s at %s for %s>' % (self.__class__,
                                       id(self),
@@ -66,7 +66,7 @@ class SocketManager:
 
     def config(self):
         return self.socket_config
-        
+
     def is_prepared(self):
         return self.prepared
 
@@ -74,15 +74,15 @@ class SocketManager:
         self.ref_ctr.increment()
         self._require_prepared()
         return Proxy(self.socket, on_delete=self.ref_ctr.decrement)
-        
+
     def get_socket_ref_count(self):
         self._require_prepared()
         return self.ref_ctr.get_count()
-        
+
     def _require_prepared(self):
         if not self.prepared:
             raise Exception('Socket has not been prepared')
-    
+
     def _prepare_socket(self):
         if not self.prepared:
             if self.logger:

+ 1 - 1
supervisor/supervisorctl.py

@@ -26,7 +26,7 @@ import cmd
 import sys
 import getpass
 
-import supervisor.medusa.text_socket as socket
+import socket
 import errno
 import threading
 

+ 1 - 1
supervisor/tests/test_datatypes.py

@@ -2,6 +2,7 @@
 
 import os
 import signal
+import socket
 import tempfile
 import unittest
 
@@ -9,7 +10,6 @@ from supervisor.tests.base import Mock, patch, sentinel
 from supervisor.compat import maxint
 
 from supervisor import datatypes
-import supervisor.medusa.text_socket as socket
 
 class ProcessOrGroupName(unittest.TestCase):
     def _callFUT(self, arg):

+ 1 - 1
supervisor/tests/test_http.py

@@ -2,7 +2,7 @@ import base64
 import os
 import stat
 import sys
-import supervisor.medusa.text_socket as socket
+import socket
 import tempfile
 import unittest
 

+ 1 - 1
supervisor/tests/test_options.py

@@ -4,7 +4,7 @@ import logging
 import os
 import sys
 import tempfile
-import supervisor.medusa.text_socket as socket
+import socket
 import unittest
 import signal
 import shutil

+ 1 - 1
supervisor/tests/test_socket_manager.py

@@ -4,7 +4,7 @@ import gc
 import sys
 import os
 import unittest
-import supervisor.medusa.text_socket as socket
+import socket
 import tempfile
 
 try:

+ 6 - 6
supervisor/tests/test_supervisorctl.py

@@ -123,7 +123,7 @@ class ControllerTests(unittest.TestCase):
 
     def test__upcheck_catches_socket_error_ECONNREFUSED(self):
         options = DummyClientOptions()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
         def raise_fault(*arg, **kw):
             raise socket.error(errno.ECONNREFUSED, 'nobody home')
@@ -140,7 +140,7 @@ class ControllerTests(unittest.TestCase):
 
     def test__upcheck_catches_socket_error_ENOENT(self):
         options = DummyClientOptions()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
         def raise_fault(*arg, **kw):
             raise socket.error(errno.ENOENT, 'nobody home')
@@ -157,7 +157,7 @@ class ControllerTests(unittest.TestCase):
 
     def test__upcheck_reraises_other_socket_faults(self):
         options = DummyClientOptions()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
         def f(*arg, **kw):
             raise socket.error(errno.EBADF, '')
@@ -1226,7 +1226,7 @@ class TestDefaultControllerPlugin(unittest.TestCase):
 
     def test_shutdown_catches_socket_error_ECONNREFUSED(self):
         plugin = self._makeOne()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
 
         def raise_fault(*arg, **kw):
@@ -1241,7 +1241,7 @@ class TestDefaultControllerPlugin(unittest.TestCase):
 
     def test_shutdown_catches_socket_error_ENOENT(self):
         plugin = self._makeOne()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
 
         def raise_fault(*arg, **kw):
@@ -1256,7 +1256,7 @@ class TestDefaultControllerPlugin(unittest.TestCase):
 
     def test_shutdown_reraises_other_socket_errors(self):
         plugin = self._makeOne()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
 
         def raise_fault(*arg, **kw):

+ 3 - 2
supervisor/xmlrpc.py

@@ -1,6 +1,7 @@
 import types
 import re
 import traceback
+import socket
 import sys
 import datetime
 import time
@@ -16,10 +17,10 @@ from supervisor.compat import encodestring
 from supervisor.compat import decodestring
 from supervisor.compat import httplib
 
-import supervisor.medusa.text_socket as socket
 from supervisor.medusa.http_server import get_header
 from supervisor.medusa.xmlrpc_handler import xmlrpc_handler
 from supervisor.medusa import producers
+from supervisor.medusa import text_socket
 
 from supervisor.http import NOT_DONE_YET
 
@@ -498,7 +499,7 @@ class SupervisorTransport(xmlrpclib.Transport):
 
 class UnixStreamHTTPConnection(httplib.HTTPConnection):
     def connect(self): # pragma: no cover
-        self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+        self.sock = text_socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
         # we abuse the host parameter as the socketname
         self.sock.connect(self.socketfile)