From 34e0c4a4ab94971583acf1aad413e3267888b7c5 Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Thu, 12 Jun 2003 15:58:30 -0400
Subject: [PATCH] ERR: Using GetCurrentProcessId instead of _getpid so we don't
 need to include the system process.h header.  Also creating pipe threads with
 1K stacks to save memory.

---
 ProcessWin32.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/ProcessWin32.c b/ProcessWin32.c
index fd73705..3b0f378 100644
--- a/ProcessWin32.c
+++ b/ProcessWin32.c
@@ -38,7 +38,6 @@ Q190351 and Q150956.
 #include <windows.h> /* Windows API */
 #include <string.h>  /* strlen, strdup */
 #include <stdio.h>   /* sprintf */
-#include <process.h> /* _getpid */
 #include <io.h>      /* _unlink */
 
 /* The number of pipes for the child's output.  The standard stdout
@@ -234,7 +233,7 @@ kwsysProcess* kwsysProcess_New()
     
     /* Construct the executable name from the process id and kwsysProcess
        instance.  This should be unique.  */
-    sprintf(fwdName, "cmw9xfwd_%u_%p.exe", _getpid(), cp);
+    sprintf(fwdName, "cmw9xfwd_%u_%p.exe", GetCurrentProcessId(), cp);
     
     /* If the environment variable "TEMP" gave us a directory, use it.  */
     if(length > 0 && length <= _MAX_PATH)
@@ -344,8 +343,10 @@ kwsysProcess* kwsysProcess_New()
       return 0;
       }
     
-    /* Create the thread.  It will block immediately.  */
-    if(!(cp->Pipe[i].Thread = CreateThread(0, 0, kwsysProcessPipeThread,
+    /* Create the thread.  It will block immediately.  The thread will
+       not make deeply nested calls, so we need only a small
+       stack.  */
+    if(!(cp->Pipe[i].Thread = CreateThread(0, 1024, kwsysProcessPipeThread,
                                            &cp->Pipe[i], 0, &dummy)))
       {
       kwsysProcess_Delete(cp);
-- 
GitLab