--- include/log4cxx/rolling/action.h 2006/11/09 15:34:58 +++ include/log4cxx/rolling/action.h 2006/11/29 00:14:30 @@ -48,6 +48,7 @@ * Constructor. */ Action(); + explicit Action(log4cxx::helpers::Pool& p); virtual ~Action(); public: --- include/log4cxx/rolling/filerenameaction.h 2006/11/09 15:34:58 +++ include/log4cxx/rolling/filerenameaction.h 2006/11/29 00:14:30 @@ -43,6 +43,14 @@ bool renameEmptyFile); /** + * Constructor with Pool. + */ + FileRenameAction(const File& toRename, + const File& renameTo, + bool renameEmptyFile, + log4cxx::helpers::Pool& p); + + /** * Perform action. * * @return true if successful. --- src/action.cpp 2006/11/09 15:34:58 +++ src/action.cpp 2006/11/29 00:14:30 @@ -28,6 +28,12 @@ interrupted(false) { } +Action::Action(Pool& p) : + complete(false), + interrupted(false), + mutex(p) { +} + Action::~Action() { } --- src/filerenameaction.cpp 2006/11/09 15:34:58 +++ src/filerenameaction.cpp 2006/11/29 00:14:30 @@ -29,6 +29,13 @@ : source(toRename), destination(renameTo), renameEmptyFile(renameEmptyFile1) { } +FileRenameAction::FileRenameAction(const File& toRename, + const File& renameTo, + bool renameEmptyFile1, + Pool& p) + : Action(p), source(toRename), destination(renameTo), renameEmptyFile(renameEmptyFile1) { +} + bool FileRenameAction::execute(log4cxx::helpers::Pool& pool) const { return source.renameTo(destination, pool); } --- src/fixedwindowrollingpolicy.cpp 2006/11/09 15:34:58 +++ src/fixedwindowrollingpolicy.cpp 2006/11/29 00:14:30 @@ -156,7 +156,7 @@ FileRenameActionPtr renameAction = new FileRenameAction( - currentFileName, renameTo, false); + currentFileName, renameTo, false, p); desc = new RolloverDescription( currentFileName, false, renameAction, compressAction); @@ -252,7 +252,7 @@ highFilename.substr(0, highFilename.length() - suffixLength); } - renames.push_back(new FileRenameAction(*toRename, File(renameTo), true)); + renames.push_back(new FileRenameAction(*toRename, File(renameTo), true, p)); lowFilename = highFilename; } else { break;