From b1a1566818777acde37ae3dbf5ffea9ddca2d4a0 Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Sun, 18 Sep 2005 21:20:24 -0400 Subject: [PATCH] fix the MAX_CHECKPOINTS stuff sim/serialize.cc: Make the max checkpoint thing actually stop after the last checkpoint --HG-- extra : convert_revision : 091179c4706e9876a9b7e826513c5c14ce6b72af --- sim/serialize.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sim/serialize.cc b/sim/serialize.cc index dd5d53642..ec7241498 100644 --- a/sim/serialize.cc +++ b/sim/serialize.cc @@ -51,8 +51,8 @@ using namespace std; -int Serializable::maxCount; -int Serializable::count; +int Serializable::maxCount = 0; +int Serializable::count = 0; void Serializable::nameOut(ostream &os) @@ -229,9 +229,6 @@ Globals::unserialize(Checkpoint *cp) void Serializable::serializeAll() { - if (maxCount && count++ > maxCount) - exitNow("Maximum number of checkpoints dropped", 0); - string dir = Checkpoint::dir(); if (mkdir(dir.c_str(), 0775) == -1 && errno != EEXIST) fatal("couldn't mkdir %s\n", dir); @@ -243,6 +240,9 @@ Serializable::serializeAll() globals.serialize(outstream); SimObject::serializeAll(outstream); + + if (maxCount && ++count >= maxCount) + SimExit(curTick + 1, "Maximum number of checkpoints dropped"); }