From bf796f1434fd049ec77f7df5d4b8126b0d6ab96a Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Thu, 4 Sep 2008 17:02:25 -0400 Subject: BUG: fix extra close that killed cmake when being debugged --- Source/cmWin32ProcessExecution.cxx | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/Source/cmWin32ProcessExecution.cxx b/Source/cmWin32ProcessExecution.cxx index 67ceaef..f383805 100644 --- a/Source/cmWin32ProcessExecution.cxx +++ b/Source/cmWin32ProcessExecution.cxx @@ -715,18 +715,24 @@ bool cmWin32ProcessExecution::CloseHandles() { if(this->pStdErr != -1 ) { + // this will close this as well: this->hChildStderrRdDup _close(this->pStdErr); this->pStdErr = -1; + this->hChildStderrRdDup = 0; } if(this->pStdIn != -1 ) { + // this will close this as well: this->hChildStdinWrDup _close(this->pStdIn); this->pStdIn = -1; + this->hChildStdinWrDup = 0; } if(this->pStdOut != -1 ) { + // this will close this as well: this->hChildStdoutRdDup _close(this->pStdOut); this->pStdOut = -1; + this->hChildStdoutRdDup = 0; } bool ret = true; @@ -735,21 +741,7 @@ bool cmWin32ProcessExecution::CloseHandles() ret = false; } this->hChildStdinRd = 0; - if(this->hChildStdoutRdDup && !CloseHandle(this->hChildStdoutRdDup)) - { - ret = false; - } - this->hChildStdoutRdDup = 0; - if(this->hChildStderrRdDup && !CloseHandle(this->hChildStderrRdDup)) - { - ret = false; - } - this->hChildStderrRdDup = 0; - if(this->hChildStdinWrDup && !CloseHandle(this->hChildStdinWrDup)) - { - ret = false; - } - this->hChildStdinWrDup = 0; + // now close these two if (this->hChildStdoutWr && !CloseHandle(this->hChildStdoutWr)) { ret = false; -- cgit v0.12