From 85219b356e249702b845cf667462584945b1735b Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sat, 8 Jul 2000 04:36:27 +0000 Subject: * 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. --- winsup/cygwin/include/sys/cygwin.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/include/sys') diff --git a/winsup/cygwin/include/sys/cygwin.h b/winsup/cygwin/include/sys/cygwin.h index 10fdd93f6..c6ac543a4 100644 --- a/winsup/cygwin/include/sys/cygwin.h +++ b/winsup/cygwin/include/sys/cygwin.h @@ -36,7 +36,6 @@ extern void cygwin_premain1 (int argc, char **argv); extern void cygwin_premain2 (int argc, char **argv); extern void cygwin_premain3 (int argc, char **argv); -#ifdef __cplusplus /* This lives in the app and is initialized before jumping into the DLL. It should only contain stuff which the user's process needs to see, or which is needed before the user pointer is initialized, or is needed to @@ -126,7 +125,6 @@ struct per_process struct _reent *impure_ptr; }; #define per_process_overwrite ((unsigned) &(((struct per_process *) NULL)->resourcelocks)) -#endif /* __cplusplus */ #ifdef _PATH_PASSWD extern HANDLE cygwin_logon_user (const struct passwd *, const char *); @@ -152,7 +150,8 @@ typedef enum CW_SETPINFO, CW_SETTHREADNAME, CW_GETVERSIONINFO, - CW_READ_V1_MOUNT_TABLES + CW_READ_V1_MOUNT_TABLES, + CW_USER_DATA } cygwin_getinfo_types; struct external_pinfo -- cgit v1.2.3