Commit 18d5a44b authored by William A. Rowe Jr's avatar William A. Rowe Jr
Browse files

Track the internal stack_res_flag for properly constraining

win32 stacksize on windows 2003 (xp) and 2008 (vista).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@699476 13f79535-47bb-0310-9956-ffa450edef68
parent 93352da4
Loading
Loading
Loading
Loading
+9 −0
Changes for server/mpm/winnt/mpm_winnt.c: 9 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -56,6 +56,9 @@ static char const* signal_arg = NULL;

OSVERSIONINFO osver; /* VER_PLATFORM_WIN32_NT */

/* set by child_main to STACK_SIZE_PARAM_IS_A_RESERVATION for NT >= 5.1 (XP/2003) */
DWORD stack_res_flag;

static DWORD parent_pid;
DWORD my_pid;

@@ -1017,6 +1020,12 @@ void winnt_rewrite_args(process_rec *process)
    osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
    GetVersionEx(&osver);

    if (osver.dwPlatformId == VER_PLATFORM_WIN32_NT 
        && ((osver.dwMajorVersion > 5)
         || ((osver.dwMajorVersion == 5) && (osver.dwMinorVersion > 0)))) {
        stack_res_flag = STACK_SIZE_PARAM_IS_A_RESERVATION;
    }

    /* AP_PARENT_PID is only valid in the child */
    pid = getenv("AP_PARENT_PID");
    if (pid)
+3 −1
Changes for server/mpm/winnt/mpm_winnt.h: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -65,11 +65,13 @@ void mpm_start_child_console_handler(void);
void mpm_nt_eventlog_stderr_open(char *display_name, apr_pool_t *p);
void mpm_nt_eventlog_stderr_flush(void);

/* From winnt.c: */
/* From mpm_winnt.c: */

extern int use_acceptex;
extern int winnt_mpm_state;
extern OSVERSIONINFO osver;
extern DWORD stack_res_flag;

extern void clean_child_exit(int);

void setup_signal_names(char *prefix);