The attached patch closes the unneeded handles in run() in script.cc.
Those handles should be closed according to
<http://msdn.microsoft.com/library/en-us/dllproc/base/createprocess.asp>:

lpProcessInformation
           [out] Pointer to a PROCESS_INFORMATION structure that receives
           identification information about the new process.

           Handles in PROCESS_INFORMATION must be closed with CloseHandle
           when they are no longer needed.

Feel free to reject if my understanding of the above is incorrect.
        Igor
==============================================================================
ChangeLog:
2003-03-15  Igor Pechtchanski <[EMAIL PROTECTED]>

        * script.cc (run): Close unneeded handles.

-- 
                                http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_                [EMAIL PROTECTED]
ZZZzz /,`.-'`'    -.  ;-;;,_            [EMAIL PROTECTED]
     |,4-  ) )-,_. ,\ (  `'-'           Igor Pechtchanski
    '---''(_/--'  `-'\_) fL     a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

Oh, boy, virtual memory! Now I'm gonna make myself a really *big* RAMdisk!
  -- /usr/games/fortune
Index: script.cc
===================================================================
RCS file: /cvs/cygwin-apps/setup/script.cc,v
retrieving revision 2.4
diff -u -p -r2.4 script.cc
--- script.cc   18 Feb 2002 13:53:07 -0000      2.4
+++ script.cc   15 Mar 2003 16:37:59 -0000
@@ -98,6 +98,9 @@ run (const char *sh, const char *args, c
 
   if (b)
     WaitForSingleObject (pi.hProcess, INFINITE);
+
+  CloseHandle(pi.hProcess);
+  CloseHandle(pi.hThread);
 }
 
 void

Reply via email to