Fix atomic saving on windows when save file does not exist
This commit is contained in:
parent
8ffdd8c293
commit
ed165e1b17
10
atomic.lua
10
atomic.lua
|
@ -38,9 +38,9 @@ local function save_atomic_move_file(filename)
|
||||||
if windows_mode then
|
if windows_mode then
|
||||||
local delsucc, err = os.remove(filename)
|
local delsucc, err = os.remove(filename)
|
||||||
if not delsucc then
|
if not delsucc then
|
||||||
serialize_lib.log_error("Unable to delete old savefile '"..filename.."':")
|
serialize_lib.log_warn("Unable to delete old savefile '"..filename.."':")
|
||||||
serialize_lib.log_error(err)
|
serialize_lib.log_warn(err)
|
||||||
return nil, err
|
serialize_lib.log_info("Trying to replace the save file anyway now...")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -48,11 +48,13 @@ local function save_atomic_move_file(filename)
|
||||||
local mvsucc, err = os.rename(filename..".new", filename)
|
local mvsucc, err = os.rename(filename..".new", filename)
|
||||||
if not mvsucc then
|
if not mvsucc then
|
||||||
if minetest.settings:get_bool("serialize_lib_no_auto_windows_mode") or windows_mode then
|
if minetest.settings:get_bool("serialize_lib_no_auto_windows_mode") or windows_mode then
|
||||||
serialize_lib.log_error("Unable to move '"..filename.."':")
|
serialize_lib.log_error("Unable to replace save file '"..filename.."':")
|
||||||
serialize_lib.log_error(err)
|
serialize_lib.log_error(err)
|
||||||
return nil, err
|
return nil, err
|
||||||
else
|
else
|
||||||
-- enable windows mode and try again
|
-- enable windows mode and try again
|
||||||
|
serialize_lib.log_info("Unable to replace save file '"..filename.."' by direct renaming:")
|
||||||
|
serialize_lib.log_info(err)
|
||||||
serialize_lib.log_info("Enabling Windows mode for atomic saving...")
|
serialize_lib.log_info("Enabling Windows mode for atomic saving...")
|
||||||
windows_mode = true
|
windows_mode = true
|
||||||
return save_atomic_move_file(filename)
|
return save_atomic_move_file(filename)
|
||||||
|
|
Loading…
Reference in New Issue