mirror of
https://github.com/octoleo/syncthing.git
synced 2025-02-08 14:58:26 +00:00
Cleanup temporary files during directory removal (fixes #919)
This commit is contained in:
parent
2ba4b235fc
commit
d305752749
@ -412,6 +412,16 @@ func (p *Puller) handleDir(file protocol.FileInfo) {
|
|||||||
// deleteDir attempts to delete the given directory
|
// deleteDir attempts to delete the given directory
|
||||||
func (p *Puller) deleteDir(file protocol.FileInfo) {
|
func (p *Puller) deleteDir(file protocol.FileInfo) {
|
||||||
realName := filepath.Join(p.dir, file.Name)
|
realName := filepath.Join(p.dir, file.Name)
|
||||||
|
// Delete any temporary files lying around in the directory
|
||||||
|
dir, _ := os.Open(realName)
|
||||||
|
if dir != nil {
|
||||||
|
files, _ := dir.Readdirnames(-1)
|
||||||
|
for _, file := range files {
|
||||||
|
if defTempNamer.IsTemporary(file) {
|
||||||
|
osutil.InWritableDir(os.Remove, filepath.Join(realName, file))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
err := osutil.InWritableDir(os.Remove, realName)
|
err := osutil.InWritableDir(os.Remove, realName)
|
||||||
if err == nil || os.IsNotExist(err) {
|
if err == nil || os.IsNotExist(err) {
|
||||||
p.model.updateLocal(p.folder, file)
|
p.model.updateLocal(p.folder, file)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user