* include/sys/cygwin.h (enum cygwin_getinfo_types): Add CW_DEBUG_SELF.

* external.cc (cygwin_internal): Implement CW_DEBUG_SELF.
* init.cc (dll_entry): Minor rearrangement of code.
This commit is contained in:
Christopher Faylor 2005-05-17 01:21:06 +00:00
parent b55ba2f3da
commit 5c8e6fbd8c
4 changed files with 16 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2005-05-16 Christopher Faylor <cgf@timesys.com>
* include/sys/cygwin.h (enum cygwin_getinfo_types): Add CW_DEBUG_SELF.
* external.cc (cygwin_internal): Implement CW_DEBUG_SELF.
* init.cc (dll_entry): Minor rearrangement of code.
2005-05-16 Christopher Faylor <cgf@timesys.com>
* path.cc (path_conv::check): Remove embedded dots before slashes.

View File

@ -311,13 +311,17 @@ cygwin_internal (cygwin_getinfo_types t, ...)
case CW_ARGV:
{
child_info_spawn *ci = (child_info_spawn *) get_cygwin_startup_info ();
return (DWORD) (ci ? ci->moreinfo->argv : NULL);
return (unsigned long) (ci ? ci->moreinfo->argv : NULL);
}
case CW_ENVP:
{
child_info_spawn *ci = (child_info_spawn *) get_cygwin_startup_info ();
return (DWORD) (ci ? ci->moreinfo->envp : NULL);
return (unsigned long) (ci ? ci->moreinfo->envp : NULL);
}
case CW_DEBUG_SELF:
error_start_init (va_arg (arg, const char *));
try_to_debug ();
break;
default:
return (DWORD) -1;
}

View File

@ -82,7 +82,8 @@ typedef enum
CW_GET_BINMODE,
CW_HOOK,
CW_ARGV,
CW_ENVP
CW_ENVP,
CW_DEBUG_SELF
} cygwin_getinfo_types;
#define CW_NEXTPID 0x80000000 /* or with pid to get next one */

View File

@ -119,6 +119,7 @@ dll_entry (HANDLE h, DWORD reason, void *static_load)
{
case DLL_PROCESS_ATTACH:
cygwin_hmodule = (HMODULE) h;
dynamically_loaded = (static_load == NULL);
/* Is the stack at an unusual high address? Check if we're running on
a 64 bit machine. If so, respawn. */
if (&is_64bit_machine >= (PBOOL) 0x400000
@ -127,7 +128,6 @@ dll_entry (HANDLE h, DWORD reason, void *static_load)
respawn_wow64_process ();
prime_threads ();
dynamically_loaded = (static_load == NULL);
dll_crt0_0 ();
break;
case DLL_PROCESS_DETACH: