From 90f5a852a6168661ece21f0918ea56d41c8b50ce Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Mon, 27 Aug 2012 16:24:47 -0300 Subject: Let's try to make manifest writing more atomic, and see if this is an improvement for #54. --- src/luarocks/manif.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/luarocks/manif.lua b/src/luarocks/manif.lua index 60b0c1df..6b05b749 100644 --- a/src/luarocks/manif.lua +++ b/src/luarocks/manif.lua @@ -31,7 +31,11 @@ local function save_table(where, name, tbl) assert(type(tbl) == "table") local filename = dir.path(where, name) - return persist.save_from_table(filename, tbl) + local ok, err = persist.save_from_table(filename..".tmp", tbl) + if ok then + ok, err = os.rename(filename..".tmp", filename) + end + return ok, err end function load_rock_manifest(name, version, root) -- cgit v1.2.3-55-g6feb