--- deliantra/server/common/object.C 2006/09/14 01:12:28 1.41 +++ deliantra/server/common/object.C 2006/09/14 01:19:47 1.42 @@ -920,7 +920,6 @@ } static unordered_vector mortals; -static std::vector > freed; void object::free_mortals () { @@ -929,14 +928,17 @@ ++i; // further delay freeing else { - //printf ("free_mortal(%p,%ld,%ld)\n", *i, pticks, (*i)->count);//D - //freed.push_back (*i);//D delete *i; mortals.erase (i); } - if (mortals.size() && 0)//D - LOG (llevDebug, "%d objects in mortal queue\n", mortals.size());//D + static int lastmortals = 0;//D + + if (mortals.size() != lastmortals)//D + { + lastmortals = mortals.size ();//D + LOG (llevDebug, "%d objects in mortal queue\n", lastmortals);//D + } } object::object () @@ -985,19 +987,7 @@ object *object::create () { - object *op; - - if (freed.empty ()) - op = new object; - else - { - // highly annoying, but the only way to get it stable right now - op = freed.back (); - freed.pop_back (); - op->~object (); - new ((void *) op) object; - } - + object *op = new object; op->link (); return op; } @@ -1025,8 +1015,6 @@ SET_FLAG (this, FLAG_FREED); - //printf ("free(%p,%ld,%ld)\n", this, pticks, count);//D - if (more) { more->free (free_inventory);