Bug #978833: Revert r50844, as it broke _socketobject.dup.
diff --git a/Lib/httplib.py b/Lib/httplib.py
index 5ae5efc..403e4ee 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -926,8 +926,8 @@
         self.__state = _CS_IDLE
 
         if response.will_close:
-            # Pass the socket to the response
-            self.sock = None
+            # this effectively passes the connection to the response
+            self.close()
         else:
             # remember this, so we can tell when it is complete
             self.__response = response
diff --git a/Lib/socket.py b/Lib/socket.py
index b4969bd..0082e76 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -139,8 +139,6 @@
     __slots__ = []
     def _dummy(*args):
         raise error(EBADF, 'Bad file descriptor')
-    def close(self):
-        pass
     # All _delegate_methods must also be initialized here.
     send = recv = recv_into = sendto = recvfrom = recvfrom_into = _dummy
     __getattr__ = _dummy
@@ -159,7 +157,6 @@
             setattr(self, method, getattr(_sock, method))
 
     def close(self):
-        self._sock.close()
         self._sock = _closedsocket()
         dummy = self._sock._dummy
         for method in _delegate_methods: