]> git.pond.sub.org Git - empserver/blobdiff - src/lib/subs/check.c
Generation numbers to catch write back of stale copies
[empserver] / src / lib / subs / check.c
index 77f91b72d71ebd7c453c378f3f3d37ffd41b23e2..360ce913a63c7dc5520679baa2567cf20029621e 100644 (file)
@@ -53,7 +53,11 @@ obj_changed(struct empobj *obj, size_t sz)
     get_empobj(obj->ef_type, obj->uid, &old);
     memcpy(&tobj, obj, sz);
     old.gen.timestamp = tobj.gen.timestamp = 0;
-    return memcmp(&tobj, &old, sz);
+    old.gen.generation = tobj.gen.generation = 0;
+    if (memcmp(&tobj, &old, sz))
+       return 1;
+    ef_mark_fresh(obj->ef_type, obj);
+    return 0;
 }
 
 int