Propagate FS errors on read/write and close files when finished writing

This commit is contained in:
2021-12-13 09:58:34 -08:00
parent 27aabdceba
commit 518fe74e96
4 changed files with 11 additions and 6 deletions

View File

@@ -582,6 +582,8 @@ func handleConnection(conn net.Conn, dev *infinitime.Device, fs *blefs.FS) {
}
}()
json.NewEncoder(conn).Encode(types.Response{Type: req.Type})
io.Copy(remoteFile, localFile)
json.NewEncoder(conn).Encode(types.Response{
@@ -603,12 +605,14 @@ func handleConnection(conn net.Conn, dev *infinitime.Device, fs *blefs.FS) {
connErr(conn, req.Type, err, "Error creating local file")
break
}
defer localFile.Close()
remoteFile, err := fs.Open(reqData.Files[1])
if err != nil {
connErr(conn, req.Type, err, "Error opening remote file")
break
}
defer remoteFile.Close()
go func() {
// For every progress event
@@ -626,8 +630,9 @@ func handleConnection(conn net.Conn, dev *infinitime.Device, fs *blefs.FS) {
}
}()
json.NewEncoder(conn).Encode(types.Response{Type: req.Type})
io.Copy(localFile, remoteFile)
localFile.Sync()
json.NewEncoder(conn).Encode(types.Response{
Type: req.Type,