Fix possible race condition crash
authorNovatux <nathanael.courant@laposte.net>
Sat, 16 Aug 2014 09:16:23 +0000 (11:16 +0200)
committerNovatux <nathanael.courant@laposte.net>
Sat, 16 Aug 2014 09:16:23 +0000 (11:16 +0200)
luaentity.lua

index a4ef4a05d01143f1f228009f0211e61ff5be90dc..fe81cb302f9501fac050159cd8af4a7577a1aaa1 100755 (executable)
@@ -42,11 +42,7 @@ local function write_entities()
        write_file(luaentity.entities)
 end
 
-minetest.after(0, function()
-       luaentity.entities = read_entities()
-end)
 minetest.register_on_shutdown(write_entities)
- -- todo: load that from file (datastorage?) -> don't forget about metatables (are those serialized?) / do not blindly save -> the attached_entities have to be removed
 luaentity.entities_index = 0
 
 local function get_blockpos(pos)
@@ -310,6 +306,9 @@ function luaentity.get_objects_inside_radius(pos, radius)
 end
 
 minetest.register_globalstep(function(dtime)
+       if not luaentity.entities then
+               luaentity.entities = read_entities()
+       end
        for id, entity in pairs(luaentity.entities) do
                local master = entity._attached_entities_master
                if master then