def send(self, sendbuf=None):
'''Flush the send buffer.'''
self.acquire_lock()
try:
if not self.sock:
e = socket.error(
'[errno %d] Socket operation on non-socket' % errno.ENOTSOCK)
e.errno = errno.ENOTSOCK
raise e
try:
if sendbuf is None:
if self.sendbuf:
self.sock.sendall(self.sendbuf)
self.sendbuf = b''
elif sendbuf:
self.sock.sendall(sendbuf)
except socket.error as e:
try:
self.sock.close()
finally:
self.sock = None
raise
self.quit('Network error.', wait=False)
finally:
self.lock.release()
评论列表
文章目录