correctly close file when we cancel a transfer. Fixes #7281
This commit is contained in:
parent
38df4d2c1f
commit
3a84a5de26
|
@ -790,6 +790,7 @@ class ConnectionIBBytestream(ConnectionBytestream):
|
|||
rep = nbxmpp.Protocol('iq', stanza.getFrom(), 'result',
|
||||
stanza.getTo(), {'id': stanza.getID()})
|
||||
file_props.block_size = blocksize
|
||||
file_props.direction = '<'
|
||||
file_props.seq = 0
|
||||
file_props.received_len = 0
|
||||
file_props.last_time = time.time()
|
||||
|
@ -812,7 +813,6 @@ class ConnectionIBBytestream(ConnectionBytestream):
|
|||
payload=[nbxmpp.Node(nbxmpp.NS_IBB + ' close',
|
||||
{'sid':file_props.sid})]))
|
||||
|
||||
|
||||
def OpenStream(self, sid, to, fp, blocksize=4096):
|
||||
"""
|
||||
Start new stream. You should provide stream id 'sid', the endpoind jid
|
||||
|
@ -990,7 +990,10 @@ class ConnectionIBBytestream(ConnectionBytestream):
|
|||
break
|
||||
else:
|
||||
if stanza.getTag('data'):
|
||||
if self.IBBMessageHandler(conn, stanza):
|
||||
sid = stanza.getTagAttr('data', 'sid')
|
||||
file_props = FilesProp.getFileProp(self.name, sid)
|
||||
if file_props.connected and self.IBBMessageHandler(conn,
|
||||
stanza):
|
||||
reply = stanza.buildReply('result')
|
||||
reply.delChild('data')
|
||||
conn.send(reply)
|
||||
|
|
|
@ -538,6 +538,7 @@ class Socks5:
|
|||
raise IOError(str(e))
|
||||
|
||||
def close_file(self):
|
||||
# Close file we're sending from
|
||||
if self.file:
|
||||
if not self.file.closed:
|
||||
try:
|
||||
|
@ -545,6 +546,12 @@ class Socks5:
|
|||
except Exception:
|
||||
pass
|
||||
self.file = None
|
||||
# Close file we're receiving into
|
||||
if self.file_props.fd:
|
||||
try:
|
||||
self.file_props.fd.close()
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def get_fd(self):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue