diff -urp src.old/winsup/cygwin/dcrt0.cc src/winsup/cygwin/dcrt0.cc --- src.old/winsup/cygwin/dcrt0.cc Sun Jun 30 04:18:37 2002 +++ src/winsup/cygwin/dcrt0.cc Tue Aug 13 16:45:37 2002 @@ -456,7 +456,8 @@ check_sanity_and_sync (per_process *p) child_info NO_COPY *child_proc_info = NULL; static MEMORY_BASIC_INFORMATION NO_COPY sm; -#define CYGWIN_GUARD ((wincap.has_page_guard ()) ? PAGE_GUARD : PAGE_NOACCESS) +#define CYGWIN_GUARD ((wincap.has_page_guard ()) ? \ + PAGE_EXECUTE_READWRITE|PAGE_GUARD : PAGE_NOACCESS) // __inline__ void extern void @@ -497,7 +498,7 @@ alloc_stack_hard_way (child_info_fork *c { m.BaseAddress = (LPVOID)((DWORD)m.BaseAddress - 1); if (!VirtualAlloc ((LPVOID) m.BaseAddress, 1, MEM_COMMIT, - PAGE_EXECUTE_READWRITE|CYGWIN_GUARD)) + CYGWIN_GUARD)) api_fatal ("fork: couldn't allocate new stack guard page %p, %E", m.BaseAddress); }