diff options
author | Nathan Binkert <binkertn@umich.edu> | 2005-02-11 09:48:23 -0500 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2005-02-11 09:48:23 -0500 |
commit | 10ee909fbd895b588bf01021af98e81a3ae40fc0 (patch) | |
tree | 081da4f22aaf0e48669acacf0d23a598cd536e2a /dev/simconsole.cc | |
parent | 60b263466e35139ee2c773cac6c96622be990fda (diff) | |
parent | 06a4686af9b0d8e9e25e0591873d2f269bfb6d1b (diff) | |
download | gem5-10ee909fbd895b588bf01021af98e81a3ae40fc0.tar.xz |
Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/merge
--HG--
extra : convert_revision : 5d73046310a64b80a6ba3832df3b30b55532d707
Diffstat (limited to 'dev/simconsole.cc')
-rw-r--r-- | dev/simconsole.cc | 21 |
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; |