--- deliantra/server/common/map.C 2007/03/15 14:23:02 1.96 +++ deliantra/server/common/map.C 2007/03/17 21:13:21 1.97 @@ -456,7 +456,7 @@ bool maptile::_save_objects (object_freezer &f, int flags) { - static int cede_count = 0; + coroapi::cede (); if (flags & IO_HEADER) _save_header (f); @@ -466,11 +466,15 @@ for (int i = 0; i < size (); ++i) { +#if 0 // disabled, there still seem to be races somewhere + static int cede_count = 0; + if (cede_count >= 500) { cede_count = 0; coroapi::cede (); } +#endif int unique = 0; for (object *op = spaces [i].bot; op; op = op->above) @@ -494,6 +498,8 @@ } } + coroapi::cede (); + return true; }