Index: spawn.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/spawn.cc,v retrieving revision 1.142 diff -u -p -r1.142 spawn.cc --- spawn.cc 23 Jan 2004 23:05:33 -0000 1.142 +++ spawn.cc 31 Jan 2004 19:10:23 -0000 @@ -397,12 +397,6 @@ spawn_guts (const char * prog_arg, const init_child_info (chtype, &ciresrv, (mode == _P_OVERLAY) ? myself->pid : 1, subproc_ready); - if (!DuplicateHandle (hMainProc, hMainProc, hMainProc, &ciresrv.parent, 0, 1, - DUPLICATE_SAME_ACCESS)) - { - system_printf ("couldn't create handle to myself for child, %E"); - return -1; - } VerifyHandle (ciresrv.parent); ciresrv.moreinfo = (cygheap_exec_info *) ccalloc (HEAP_1_EXEC, 1, sizeof (cygheap_exec_info)); Index: child_info.h =================================================================== RCS file: /cvs/src/src/winsup/cygwin/child_info.h,v retrieving revision 1.39 diff -u -p -r1.39 child_info.h --- child_info.h 1 Oct 2003 12:36:38 -0000 1.39 +++ child_info.h 31 Jan 2004 19:10:23 -0000 @@ -29,7 +29,7 @@ enum #define EXEC_MAGIC_SIZE sizeof(child_info) -#define CURR_CHILD_INFO_MAGIC 0x1e4c5751U +#define CURR_CHILD_INFO_MAGIC 0x4239088U /* NOTE: Do not make gratuitous changes to the names or organization of the below class. The layout is checksummed to determine compatibility between @@ -88,8 +88,6 @@ public: child_info_spawn (): moreinfo (NULL) {} ~child_info_spawn () { - if (parent) - CloseHandle (parent); if (moreinfo) { if (moreinfo->old_title) Index: dcrt0.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/dcrt0.cc,v retrieving revision 1.208 diff -u -p -r1.208 dcrt0.cc --- dcrt0.cc 26 Jan 2004 18:52:02 -0000 1.208 +++ dcrt0.cc 31 Jan 2004 19:10:25 -0000 @@ -703,9 +703,8 @@ dll_crt0_0 () envp = spawn_info->moreinfo->envp; envc = spawn_info->moreinfo->envc; envp = spawn_info->moreinfo->envp; - cygheap->fdtab.fixup_after_exec (spawn_info->parent); + cygheap->fdtab.fixup_after_exec (NULL); signal_fixup_after_exec (); - CloseHandle (spawn_info->parent); if (spawn_info->moreinfo->old_title) { old_title = strcpy (title_buf, spawn_info->moreinfo->old_title);