Take the name of the checkpoint directory in when calling checkpoint() or restoreCheckpoint().
src/sim/main.cc:
src/sim/serialize.cc:
src/sim/serialize.hh:
Take in the directory name when checkpointing.
--HG--
extra : convert_revision : 040e828622480f1051e2156f4439e24864c38d45
This commit is contained in:
@@ -542,15 +542,15 @@ cleanupCountedDrain(Event *counted_drain)
|
||||
}
|
||||
|
||||
void
|
||||
serializeAll()
|
||||
serializeAll(const std::string &cpt_dir)
|
||||
{
|
||||
Serializable::serializeAll();
|
||||
Serializable::serializeAll(cpt_dir);
|
||||
}
|
||||
|
||||
void
|
||||
unserializeAll()
|
||||
unserializeAll(const std::string &cpt_dir)
|
||||
{
|
||||
Serializable::unserializeAll();
|
||||
Serializable::unserializeAll(cpt_dir);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -231,8 +231,9 @@ Globals::unserialize(Checkpoint *cp)
|
||||
}
|
||||
|
||||
void
|
||||
Serializable::serializeAll()
|
||||
Serializable::serializeAll(const std::string &cpt_dir)
|
||||
{
|
||||
setCheckpointDir(cpt_dir);
|
||||
string dir = Checkpoint::dir();
|
||||
if (mkdir(dir.c_str(), 0775) == -1 && errno != EEXIST)
|
||||
fatal("couldn't mkdir %s\n", dir);
|
||||
@@ -247,8 +248,9 @@ Serializable::serializeAll()
|
||||
}
|
||||
|
||||
void
|
||||
Serializable::unserializeAll()
|
||||
Serializable::unserializeAll(const std::string &cpt_dir)
|
||||
{
|
||||
setCheckpointDir(cpt_dir);
|
||||
string dir = Checkpoint::dir();
|
||||
string cpt_file = dir + Checkpoint::baseFilename;
|
||||
string section = "";
|
||||
@@ -289,9 +291,9 @@ Checkpoint::dir()
|
||||
}
|
||||
|
||||
void
|
||||
debug_serialize()
|
||||
debug_serialize(const std::string &cpt_dir)
|
||||
{
|
||||
Serializable::serializeAll();
|
||||
Serializable::serializeAll(cpt_dir);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -126,8 +126,8 @@ class Serializable
|
||||
static int ckptCount;
|
||||
static int ckptMaxCount;
|
||||
static int ckptPrevCount;
|
||||
static void serializeAll();
|
||||
static void unserializeAll();
|
||||
static void serializeAll(const std::string &cpt_dir);
|
||||
static void unserializeAll(const std::string &cpt_dir);
|
||||
static void unserializeGlobals(Checkpoint *cp);
|
||||
};
|
||||
|
||||
@@ -206,7 +206,7 @@ SerializableClass the##OBJ_CLASS##Class(CLASS_NAME, \
|
||||
OBJ_CLASS::createForUnserialize);
|
||||
|
||||
void
|
||||
setCheckpointName(const std::string &name);
|
||||
setCheckpointDir(const std::string &name);
|
||||
|
||||
class Checkpoint
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user