summaryrefslogtreecommitdiff
path: root/dev/simconsole.cc
diff options
context:
space:
mode:
authorRon Dreslinski <rdreslin@umich.edu>2005-02-17 12:14:04 -0500
committerRon Dreslinski <rdreslin@umich.edu>2005-02-17 12:14:04 -0500
commit45ef238e3f54bd7e2b602def187085bd0b99aab5 (patch)
treeea4057df1dac0768ebf36201468af632cdefedf1 /dev/simconsole.cc
parentb8d65408c810ba490243fc32c7d5e6817c32c70b (diff)
parentcfe6ed7c484b62d07bae23c528f0e2e568cf0d65 (diff)
downloadgem5-45ef238e3f54bd7e2b602def187085bd0b99aab5.tar.xz
Merge zizzer:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1 --HG-- extra : convert_revision : 88afcacc41f5b0fae0ed1ac1821b7ca88c407e85
Diffstat (limited to 'dev/simconsole.cc')
-rw-r--r--dev/simconsole.cc21
1 files changed, 9 insertions, 12 deletions
diff --git a/dev/simconsole.cc b/dev/simconsole.cc
index 48e5d0201..94fd9ec1f 100644
--- a/dev/simconsole.cc
+++ b/dev/simconsole.cc
@@ -43,6 +43,7 @@
#include <string>
#include "base/misc.hh"
+#include "base/output.hh"
#include "base/socket.hh"
#include "base/trace.hh"
#include "dev/platform.hh"
@@ -71,7 +72,7 @@ SimConsole::Event::process(int revent)
cons->detach();
}
-SimConsole::SimConsole(const string &name, std::ostream *os, int num)
+SimConsole::SimConsole(const string &name, ostream *os, int num)
: SimObject(name), event(NULL), number(num), in_fd(-1), out_fd(-1),
listener(NULL), txbuf(16384), rxbuf(16384), outfile(os)
#if TRACING_ON == 1
@@ -85,8 +86,6 @@ SimConsole::SimConsole(const string &name, std::ostream *os, int num)
SimConsole::~SimConsole()
{
close();
- if (outfile)
- closeOutputStream(outfile);
}
void
@@ -313,18 +312,16 @@ END_INIT_SIM_OBJECT_PARAMS(SimConsole)
CREATE_SIM_OBJECT(SimConsole)
{
- string filename;
+ string filename = output;
+ ostream *stream = NULL;
- if (filename.empty()) {
- filename = getInstanceName();
- } else if (append_name) {
- filename = (string)output + "." + getInstanceName();
- } else {
- filename = output;
+ if (!filename.empty()) {
+ if (append_name)
+ filename += "." + getInstanceName();
+ stream = simout.find(filename);
}
- SimConsole *console = new SimConsole(getInstanceName(),
- makeOutputStream(filename), number);
+ SimConsole *console = new SimConsole(getInstanceName(), stream, number);
((ConsoleListener *)listener)->add(console);
return console;