* external.cc (cygwin_internal): Export __cygwin_user_data.

* include/sys/cygwin.h: Allow definition of per_process even when not compiling
with C++.
(cygwin_getinfo_types): Add CW_USER_DATA.
* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Get __cygwin_user_data
pointer from cygwin_internal.  If it doesn't exist, return failure.  Use either
this pointer or passed in pointer throughout.  Clear forkee.
* lib/crt0.h: Accomodate argument changes to _cygwin_crt0_common.
* lib/cygwin_attach_dll.c (cygwin_attach_dll): Reorganize to allow use of newer
binaries with older DLLs.  Detect older DLLs when _cygwin_crt0_common returns 0
and allocate space for a per_process structure on the stack.
* lib/cygwin_crt0.c (cygwin_crt0): Ditto.
This commit is contained in:
Christopher Faylor
2000-07-08 04:36:27 +00:00
parent 77fcb25859
commit 85219b356e
7 changed files with 96 additions and 42 deletions

View File

@@ -100,6 +100,9 @@ cygwin_internal (cygwin_getinfo_types t, ...)
cygwin_shared->mount.import_v1_mounts ();
return 0;
case CW_USER_DATA:
return (DWORD) &__cygwin_user_data;
default:
return (DWORD) -1;
}