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

Reply via email to