mirror of
https://github.com/sshuttle/sshuttle.git
synced 2025-02-16 18:32:03 +01:00
Remember which syscall got a particular stream-killing error.
This commit is contained in:
parent
973d5a95a1
commit
b7f1530aef
6
ssnet.py
6
ssnet.py
@ -151,7 +151,7 @@ class SockWrapper:
|
|||||||
try:
|
try:
|
||||||
self.wsock.shutdown(SHUT_WR)
|
self.wsock.shutdown(SHUT_WR)
|
||||||
except socket.error, e:
|
except socket.error, e:
|
||||||
self.seterr(e)
|
self.seterr('nowrite: %s' % e)
|
||||||
|
|
||||||
def too_full(self):
|
def too_full(self):
|
||||||
return False # fullness is determined by the socket's select() state
|
return False # fullness is determined by the socket's select() state
|
||||||
@ -164,7 +164,7 @@ class SockWrapper:
|
|||||||
return _nb_clean(os.write, self.wsock.fileno(), buf)
|
return _nb_clean(os.write, self.wsock.fileno(), buf)
|
||||||
except OSError, e:
|
except OSError, e:
|
||||||
# unexpected error... stream is dead
|
# unexpected error... stream is dead
|
||||||
self.seterr(e)
|
self.seterr('uwrite: %s' % e)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def write(self, buf):
|
def write(self, buf):
|
||||||
@ -180,7 +180,7 @@ class SockWrapper:
|
|||||||
try:
|
try:
|
||||||
return _nb_clean(os.read, self.rsock.fileno(), 65536)
|
return _nb_clean(os.read, self.rsock.fileno(), 65536)
|
||||||
except OSError, e:
|
except OSError, e:
|
||||||
self.seterr(e)
|
self.seterr('uread: %s' % e)
|
||||||
return '' # unexpected error... we'll call it EOF
|
return '' # unexpected error... we'll call it EOF
|
||||||
|
|
||||||
def fill(self):
|
def fill(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user