* cygheap.h (init_cygheap): Move heap pointers here.
* include/sys/cygwin.h (perprocess): Remove heap pointers. * dcrt0.cc (__cygwin_user_data): Reflect obsolete perprocess stuff. (_dll_crt0): Don't initialize heap pointers. (cygwin_dll_init): Ditto. (release_upto): Use heap pointers from cygheap. * heap.h: Ditto. * fork.cc (fork_parent): Ditto. Don't set heap pointers in ch. (fork_child): Remove obsolete sigproc_fixup_after_fork. * shared.cc (memory_init): Reorganize so that cygheap initialization is called prior to regular heap since regular heap uses cygheap now. * sigproc.cc (proc_subproc): Eliminate zombies allocation. (sigproc_init): Move zombies alloation here. Don't free up array on fork, just reuse it. (sigproc_fixup_after_fork): Eliminate. * sigproc.h: Ditto. * include/cygwin/version.h: Reflect change to perprocess structure.
This commit is contained in:
@@ -616,7 +616,7 @@ spawn_guts (HANDLE hToken, const char * prog_arg, const char *const *argv,
|
||||
cygsid sid;
|
||||
DWORD ret_len;
|
||||
if (!GetTokenInformation (hToken, TokenUser, &sid, sizeof sid, &ret_len))
|
||||
{
|
||||
{
|
||||
sid = NO_SID;
|
||||
system_printf ("GetTokenInformation: %E");
|
||||
}
|
||||
@@ -628,15 +628,15 @@ spawn_guts (HANDLE hToken, const char * prog_arg, const char *const *argv,
|
||||
|
||||
/* Remove impersonation */
|
||||
if (cygheap->user.impersonated
|
||||
&& cygheap->user.token != INVALID_HANDLE_VALUE)
|
||||
&& cygheap->user.token != INVALID_HANDLE_VALUE)
|
||||
RevertToSelf ();
|
||||
|
||||
static BOOL first_time = TRUE;
|
||||
if (first_time)
|
||||
{
|
||||
set_process_privilege (SE_RESTORE_NAME);
|
||||
first_time = FALSE;
|
||||
}
|
||||
{
|
||||
set_process_privilege (SE_RESTORE_NAME);
|
||||
first_time = FALSE;
|
||||
}
|
||||
|
||||
/* Load users registry hive. */
|
||||
load_registry_hive (sid);
|
||||
@@ -703,7 +703,7 @@ spawn_guts (HANDLE hToken, const char * prog_arg, const char *const *argv,
|
||||
{
|
||||
cygheap->fdtab.fixup_before_exec (pi.dwProcessId);
|
||||
if (mode == _P_OVERLAY)
|
||||
ResumeThread (pi.hThread);
|
||||
ResumeThread (pi.hThread);
|
||||
}
|
||||
|
||||
if (mode == _P_OVERLAY)
|
||||
|
Reference in New Issue
Block a user