Merge pull request #4772 from mscherer/fix_4763

Try/finally is a python 2.5 construct, so not working on EL5. Fix #4763
This commit is contained in:
jctanner 2013-11-04 15:36:02 -08:00
commit ac3baf2f93

View file

@ -345,12 +345,12 @@ class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):
log("got a failed response from the master") log("got a failed response from the master")
return dict(failed=True, stderr="Master reported failure, aborting transfer") return dict(failed=True, stderr="Master reported failure, aborting transfer")
except Exception, e: except Exception, e:
fd.close()
tb = traceback.format_exc() tb = traceback.format_exc()
log("failed to fetch the file: %s" % tb) log("failed to fetch the file: %s" % tb)
return dict(failed=True, stderr="Could not fetch the file: %s" % str(e)) return dict(failed=True, stderr="Could not fetch the file: %s" % str(e))
finally:
fd.close()
fd.close()
return dict() return dict()
def put(self, data): def put(self, data):
@ -388,10 +388,11 @@ class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):
data = self.server.key.Decrypt(data) data = self.server.key.Decrypt(data)
data = json.loads(data) data = json.loads(data)
except: except:
out_fd.close()
tb = traceback.format_exc() tb = traceback.format_exc()
log("failed to put the file: %s" % tb) log("failed to put the file: %s" % tb)
return dict(failed=True, stdout="Could not write the file") return dict(failed=True, stdout="Could not write the file")
finally:
vvvv("wrote %d bytes" % bytes) vvvv("wrote %d bytes" % bytes)
out_fd.close() out_fd.close()