35 const char *errarg[9];
44 errarg[0] =
"The Apache service named";
46 errarg[2] =
"reported the following error:\r\n>>>";
56 "SYSTEM\\CurrentControlSet\\Services\\"
57 "EventLog\\Application\\Apache Service",
66 "%SystemRoot%\\System32\\netmsg.dll",
83 if ((*(errmsg - 1) ==
'\n')
103 "Win32 error %lu reading stderr pipe stream\r\n",
148 sa.nLength =
sizeof(
sa);
149 sa.lpSecurityDescriptor =
NULL;
const ap_regex_t char * errbuf
APR-style Win32 Registry Manipulation.
#define CreatePipe(ph1, ph2, sd, d)
#define RegisterEventSourceW(s1, s2)
#define CreateThread(sd, d1, fn, pv, d2, pd3)
#define DeregisterEventSource(h)
#define WaitForSingleObject(h, d)
APR general purpose library routines.
APR Portability Routines.
void ap_open_stderr_log(apr_pool_t *p)
void mpm_nt_eventlog_stderr_open(const char *argv0, apr_pool_t *p)
void mpm_nt_eventlog_stderr_flush(void)
static const char * display_name
static HANDLE stderr_ready
static HANDLE stderr_thread
static DWORD WINAPI service_stderr_thread(LPVOID hPipe)
typedef HANDLE(WINAPI *apr_winapi_fpt_CreateToolhelp32Snapshot)(DWORD dwFlags
typedef DWORD(WINAPI *apr_winapi_fpt_GetCompressedFileSizeA)(IN LPCSTR lpFileName