changeset 5e1863e9afa2 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=5e1863e9afa2 description: Output: Verify output files are open after opening them.
diffstat: 2 files changed, 1 insertion(+), 1 deletion(-) src/base/stats/text.cc | 1 - src/sim/serialize.cc | 1 + diffs (42 lines): diff -r 6be5ac0eb1ea -r 5e1863e9afa2 src/base/stats/text.cc --- a/src/base/stats/text.cc Wed Oct 01 16:37:49 2008 -0400 +++ b/src/base/stats/text.cc Thu Oct 02 12:46:57 2008 -0400 @@ -107,7 +107,8 @@ mystream = false; stream = &_stream; - assert(valid()); + if (!valid()) + fatal("Unable to open output stream for writing\n"); } void @@ -118,13 +119,14 @@ mystream = true; stream = new ofstream(file.c_str(), ios::trunc); - assert(valid()); + if (!valid()) + fatal("Unable to open statistics file for writing\n"); } bool Text::valid() const { - return stream != NULL; + return stream != NULL && stream->good(); } void diff -r 6be5ac0eb1ea -r 5e1863e9afa2 src/sim/serialize.cc --- a/src/sim/serialize.cc Wed Oct 01 16:37:49 2008 -0400 +++ b/src/sim/serialize.cc Thu Oct 02 12:46:57 2008 -0400 @@ -405,6 +405,8 @@ string cpt_file = dir + Checkpoint::baseFilename; ofstream outstream(cpt_file.c_str()); time_t t = time(NULL); + if (!outstream.is_open()) + fatal("Unable to open file %s for writing\n", cpt_file.c_str()); outstream << "// checkpoint generated: " << ctime(&t); globals.serialize(outstream); _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev