diff options
author | zeripath <art27@cantab.net> | 2021-09-03 11:48:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-03 11:48:49 +0100 |
commit | 076bb8a2a2e666ad0ee4bc18a31f3913ff7bffb3 (patch) | |
tree | 57bec94f19e74a329111f99ab4fb7ca3c8cdb449 | |
parent | 6c125e979713259f41e99ef738a612318c69fbc5 (diff) | |
download | gitea-076bb8a2a2e666ad0ee4bc18a31f3913ff7bffb3.tar.gz gitea-076bb8a2a2e666ad0ee4bc18a31f3913ff7bffb3.zip |
Close storage objects before cleaning (#16934)
Storage.Iterate provides the path and an open object. On windows using
local storage means that the objects will be locked thus preventing clean
from deleting them.
This PR simply closes the objects early.
Fix #16932
Signed-off-by: Andrew Thornton <art27@cantab.net>
-rw-r--r-- | modules/storage/storage.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/modules/storage/storage.go b/modules/storage/storage.go index 9f87e58b60..2532ceb35d 100644 --- a/modules/storage/storage.go +++ b/modules/storage/storage.go @@ -91,6 +91,7 @@ func Copy(dstStorage ObjectStorage, dstPath string, srcStorage ObjectStorage, sr // Clean delete all the objects in this storage func Clean(storage ObjectStorage) error { return storage.IterateObjects(func(path string, obj Object) error { + _ = obj.Close() return storage.Delete(path) }) } |