From edb02ecfc7b0e521928efecc4ea2ac26568e4cef Mon Sep 17 00:00:00 2001 From: HRN Date: Thu, 6 Feb 2025 10:51:13 +0330 Subject: [PATCH] pFlowToVTK now manages when Ctrl+C is used by user --- utilities/pFlowToVTK/pFlowToVTK.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/utilities/pFlowToVTK/pFlowToVTK.cpp b/utilities/pFlowToVTK/pFlowToVTK.cpp index d17b8798..919c66d9 100755 --- a/utilities/pFlowToVTK/pFlowToVTK.cpp +++ b/utilities/pFlowToVTK/pFlowToVTK.cpp @@ -17,6 +17,7 @@ Licence: implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -----------------------------------------------------------------------------*/ +#include #include "vocabs.hpp" #include "systemControl.hpp" @@ -31,9 +32,23 @@ Licence: //#include "readControlDict.hpp" bool bindaryOutput__; +static pFlow::uniquePtr timeSeriesPtr=nullptr; + +void signal_handler(int signal) +{ + if(signal == SIGINT) + { + pFlow::output<<"\nPressing Ctrl+C ....\n"; + timeSeriesPtr.reset(nullptr); + fatalExit; + } +} int main(int argc, char** argv ) { + + std::signal(SIGINT, signal_handler); + pFlow::word outFolder = (pFlow::CWD()/pFlow::word("VTK")).wordPath(); pFlow::commandLine cmds( @@ -126,8 +141,9 @@ int main(int argc, char** argv ) } { - - pFlow::PFtoVTK::fileSeries timeSeries{pFlow::fileSystem(outFolder)}; + + timeSeriesPtr = pFlow::makeUnique(pFlow::fileSystem(outFolder)); + auto& timeSeries = timeSeriesPtr(); pFlow::word fileName; pFlow::wordList geomFileNames; pFlow::wordList surfNames;