Use ``0'' instead of ``None'' to reset the underlying object in close
methods.  Using None causes problems if the destructor is called after
the __builtin__ module has already been destroyed (unfortunately, this
can happen!).  I can't just delete the object because it is actually
tested for (if self._sock: ...).  Setting it to 0 is a bit weird but
works.
diff --git a/Lib/plat-win/socket.py b/Lib/plat-win/socket.py
index 7e1b372..645d01e 100755
--- a/Lib/plat-win/socket.py
+++ b/Lib/plat-win/socket.py
@@ -27,7 +27,7 @@
 	self._sock = sock
 
     def close(self):
-	self._sock = None
+	self._sock = 0
 
     def __del__(self):
 	self.close()
@@ -68,7 +68,7 @@
 	    if self._sock:
 		self.flush()
 	finally:
-	    self._sock = None
+	    self._sock = 0
 
     def __del__(self):
 	self.close()