After hours of debugging, the answer was -trivial-, but extremely obscure and difficult to trace. This should do away with the handle corruption we experienced. If anyone cares to walk the crt (source is installed in vc\src\crt if you install it w/ Visual C++/Studio) it's worth understanding why this occured. This patch 1. creates the pipe non-inherited, and dups the write end for inheritence with limited permissions. 2. sets the STD_ERROR_HANDLE _after_ we fixup the FILE *stderr and fd 2. 3. Splits the signal_monitor event in two, service_init/service_term for clarity and correctness. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93374 13f79535-47bb-0310-9956-ffa450edef68
parent
88d534e9
Please register or sign in to comment