summaryrefslogtreecommitdiff
path: root/memory
diff options
context:
space:
mode:
authorstoddard <stoddard@13f79535-47bb-0310-9956-ffa450edef68>2000-01-28 04:21:59 +0000
committerstoddard <stoddard@13f79535-47bb-0310-9956-ffa450edef68>2000-01-28 04:21:59 +0000
commit2069ff656d23103d3a763828c31d9f623cbe811d (patch)
tree11a0208fd6c99cfecc99f54fb3b8e13bfce7141f /memory
parentc4c4d36e4e5d7e3378a64824087130e2ef9b8c3a (diff)
downloadlibapr-2069ff656d23103d3a763828c31d9f623cbe811d.tar.gz
Fix bug in Win32 ap_get_os_proc() (it was already fixed in the Unix side...).
Close process handle in free_proc_chain. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@59630 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'memory')
-rw-r--r--memory/unix/apr_pools.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/memory/unix/apr_pools.c b/memory/unix/apr_pools.c
index 7cdccded0..12fec3d85 100644
--- a/memory/unix/apr_pools.c
+++ b/memory/unix/apr_pools.c
@@ -1310,13 +1310,16 @@ static void free_proc_chain(struct process_chain *procs)
}
}
#ifdef WIN32
- /* Humm, still trying to understand what to do about this.
+ /*
* Do we need an APR function to clean-up a proc_t?
- * We have a handle leak here until this is fixed.
- for (p = procs; p; p = p->next) {
- CloseHandle(p->pid->pi.hProcess);
- }
- */
+ */
+ {
+ PROCESS_INFORMATION pi;
+ for (p = procs; p; p = p->next) {
+ ap_get_os_proc(&pi, p->pid);
+ CloseHandle(pi.hProcess);
+ }
+ }
#endif /* WIN32 */
/* Now wait for all the signaled processes to die */