From b6fb2fe8f9d1acf9a2fe3b6560d906264a38c596 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 13 May 2004 10:08:09 -0400 Subject: [PATCH] BUG: Do not wait for children to exit when killing them. Sometimes they do not really die. --- Source/kwsys/ProcessWin32.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Source/kwsys/ProcessWin32.c b/Source/kwsys/ProcessWin32.c index a184367d6..9e42e056d 100644 --- a/Source/kwsys/ProcessWin32.c +++ b/Source/kwsys/ProcessWin32.c @@ -1268,7 +1268,6 @@ int kwsysProcess_WaitForData(kwsysProcess* cp, char** data, int* length, { /* The process timeout has expired. Kill the child now. */ kwsysProcess_Kill(cp); - cp->State = kwsysProcess_State_Expired; cp->TimeoutExpired = 1; cp->Killed = 0; return kwsysProcess_Pipe_None; @@ -1409,11 +1408,8 @@ void kwsysProcess_Kill(kwsysProcess* cp) } } - /* Wait for windows to finish cleaning up the children. */ - for(i=0; i < cp->NumberOfCommands; ++i) - { - WaitForSingleObject(cp->ProcessInformation[i].hProcess, INFINITE); - } + /* We are killing the children and ignoring all data. Do not wait + for them to exit. */ } /*--------------------------------------------------------------------------*/