tests/testlib/badserverext.py
changeset 49298 425ca3428d03
parent 48946 642e31cb55f0
child 49299 4554e2e965e2
equal deleted inserted replaced
49297:402f9f0f9387 49298:425ca3428d03
    47 
    47 
    48 import re
    48 import re
    49 import socket
    49 import socket
    50 
    50 
    51 from mercurial import (
    51 from mercurial import (
    52     pycompat,
       
    53     registrar,
    52     registrar,
    54 )
    53 )
    55 
    54 
    56 from mercurial.hgweb import server
    55 from mercurial.hgweb import server
    57 
    56 
   333         object.__getattribute__(self, '_logfp').write(msg)
   332         object.__getattribute__(self, '_logfp').write(msg)
   334         object.__getattribute__(self, '_logfp').write(b'\n')
   333         object.__getattribute__(self, '_logfp').write(b'\n')
   335         object.__getattribute__(self, '_logfp').flush()
   334         object.__getattribute__(self, '_logfp').flush()
   336 
   335 
   337     def _close(self):
   336     def _close(self):
   338         # Python 3 uses an io.BufferedIO instance. Python 2 uses some file
   337         # We wrap an io.BufferedIO instance.
   339         # object wrapper.
   338         orig = object.__getattribute__(self, '_orig')
   340         if pycompat.ispy3:
   339 
   341             orig = object.__getattribute__(self, '_orig')
   340         if hasattr(orig, 'raw'):
   342 
   341             orig.raw._sock.shutdown(socket.SHUT_RDWR)
   343             if hasattr(orig, 'raw'):
   342         else:
   344                 orig.raw._sock.shutdown(socket.SHUT_RDWR)
   343             self.close()
   345             else:
       
   346                 self.close()
       
   347         else:
       
   348             self._sock.shutdown(socket.SHUT_RDWR)
       
   349 
   344 
   350     def read(self, size=-1):
   345     def read(self, size=-1):
   351         cond = object.__getattribute__(self, '_cond')
   346         cond = object.__getattribute__(self, '_cond')
   352         return cond.forward_read(self, 'read', size)
   347         return cond.forward_read(self, 'read', size)
   353 
   348