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.
self._sock = sock
def close(self):
- self._sock = None
+ self._sock = 0
def __del__(self):
self.close()
if self._sock:
self.flush()
finally:
- self._sock = None
+ self._sock = 0
def __del__(self):
self.close()