diff options
Diffstat (limited to 'threadproc/win32/proc.c')
-rw-r--r-- | threadproc/win32/proc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/threadproc/win32/proc.c b/threadproc/win32/proc.c index 9f13d6e7a..ed52f314b 100644 --- a/threadproc/win32/proc.c +++ b/threadproc/win32/proc.c @@ -699,7 +699,10 @@ APR_DECLARE(apr_status_t) apr_proc_wait_all_procs(apr_proc_t *proc, apr_pool_t *p) { /* Unix does apr_proc_wait(proc(-1), exitcode, exitwhy, waithow) - * but Win32's apr_proc_wait won't work that way. + * but Win32's apr_proc_wait won't work that way. We can either + * register all APR created processes in some sort of AsyncWait + * thread, or simply walk from the global process pool for all + * apr_pool_note_subprocess()es registered with APR. */ return APR_ENOTIMPL; } @@ -735,6 +738,8 @@ APR_DECLARE(apr_status_t) apr_proc_wait(apr_proc_t *proc, *exitcode = stat; if (exitwhy) *exitwhy = why_from_exit_code(stat); + CloseHandle(proc->hproc); + proc->hproc = NULL; return APR_CHILD_DONE; } } |