diff --git a/src/OpenFOAM/global/JobInfo/JobInfo.C b/src/OpenFOAM/global/JobInfo/JobInfo.C index 305951199b..f1e8021603 100644 --- a/src/OpenFOAM/global/JobInfo/JobInfo.C +++ b/src/OpenFOAM/global/JobInfo/JobInfo.C @@ -30,43 +30,52 @@ License #include "OFstream.H" #include "Pstream.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -bool JobInfo::writeJobInfo(debug::infoSwitch("writeJobInfo", 0)); +bool Foam::JobInfo::writeJobInfo(Foam::debug::infoSwitch("writeJobInfo", 0)); +Foam::JobInfo Foam::jobInfo; -JobInfo jobInfo; // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // Null constructor -JobInfo::JobInfo() +Foam::JobInfo::JobInfo() : - runningJobsDir_(getEnv("FOAM_JOB_DIR")/"runningJobs"), - finishedJobsDir_(getEnv("FOAM_JOB_DIR")/"finishedJobs"), - jobFileName_(hostName() + '.' + Foam::name(pid())), - runningJobPath_(runningJobsDir_/jobFileName_), - finishedJobPath_(finishedJobsDir_/jobFileName_) + runningJobPath_(), + finishedJobPath_(), + cpuTime_() { name() = "JobInfo"; if (writeJobInfo && Pstream::master()) { - if (!dir(runningJobsDir_) && !mkDir(runningJobsDir_)) + string baseDir = getEnv("FOAM_JOB_DIR"); + string jobFile = hostName() + '.' + Foam::name(pid()); + + fileName runningDir(baseDir/"runningJobs"); + fileName finishedDir(baseDir/"finishedJobs"); + + runningJobPath_ = runningDir/jobFile; + finishedJobPath_ = finishedDir/jobFile; + + if (baseDir.empty()) { FatalErrorIn("JobInfo::JobInfo()") - << "Cannot make JobInfo directory " << runningJobsDir_ + << "Cannot get JobInfo directory $FOAM_JOB_DIR" << Foam::exit(FatalError); } - if (!dir(finishedJobsDir_) && !mkDir(finishedJobsDir_)) + if (!dir(runningDir) && !mkDir(runningDir)) { FatalErrorIn("JobInfo::JobInfo()") - << "Cannot make JobInfo directory " << finishedJobsDir_ + << "Cannot make JobInfo directory " << runningDir + << Foam::exit(FatalError); + } + + if (!dir(finishedDir) && !mkDir(finishedDir)) + { + FatalErrorIn("JobInfo::JobInfo()") + << "Cannot make JobInfo directory " << finishedDir << Foam::exit(FatalError); } } @@ -77,7 +86,7 @@ JobInfo::JobInfo() // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -JobInfo::~JobInfo() +Foam::JobInfo::~JobInfo() { if (writeJobInfo && constructed && Pstream::master()) { @@ -90,13 +99,13 @@ JobInfo::~JobInfo() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool JobInfo::write(Ostream& JobInfoFile) const +bool Foam::JobInfo::write(Ostream& os) const { if (writeJobInfo && Pstream::master()) { - if (JobInfoFile.good()) + if (os.good()) { - dictionary::write(JobInfoFile, false); + dictionary::write(os, false); return true; } else @@ -111,7 +120,7 @@ bool JobInfo::write(Ostream& JobInfoFile) const } -void JobInfo::write() const +void Foam::JobInfo::write() const { if (writeJobInfo && Pstream::master()) { @@ -126,7 +135,7 @@ void JobInfo::write() const } -void JobInfo::end(const word& terminationType) +void Foam::JobInfo::end(const word& terminationType) { if (writeJobInfo && constructed && Pstream::master()) { @@ -147,25 +156,25 @@ void JobInfo::end(const word& terminationType) } -void JobInfo::end() +void Foam::JobInfo::end() { end("normal"); } -void JobInfo::exit() +void Foam::JobInfo::exit() { end("exit"); } -void JobInfo::abort() +void Foam::JobInfo::abort() { end("abort"); } -void JobInfo::signalEnd() const +void Foam::JobInfo::signalEnd() const { if (writeJobInfo && constructed && Pstream::master()) { @@ -176,8 +185,4 @@ void JobInfo::signalEnd() const } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - // ************************************************************************* // diff --git a/src/OpenFOAM/global/JobInfo/JobInfo.H b/src/OpenFOAM/global/JobInfo/JobInfo.H index f2c6c0e0b8..d37613e4d8 100644 --- a/src/OpenFOAM/global/JobInfo/JobInfo.H +++ b/src/OpenFOAM/global/JobInfo/JobInfo.H @@ -58,18 +58,13 @@ class JobInfo public dictionary { // Private data - - fileName runningJobsDir_; - fileName finishedJobsDir_; - fileName jobFileName_; fileName runningJobPath_; fileName finishedJobPath_; - - cpuTime cpuTime_; + cpuTime cpuTime_; // Private member functions - bool write(Ostream& JobInfoFile) const; + bool write(Ostream&) const; void end(const word& terminationType);