From fdb28b5e5f813721add3ba2b261dfe78f3b895cb Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Tue, 15 Oct 2002 07:03:45 +0000 Subject: * child_info.h (CURR_CHILD_INFO_MAGIC): Reset. (child_info_fork::mount_table): Remove. (child_info_fork::myself_addr): Remove. * fork.cc (fork_child): Don't set either of the above. * dcrt0.cc (dll_crt0_1): Call memory_init as early as possible. * fhandler_console.cc (console_state): Move to shared_info.h. (fhandler_console::get_tty_stuff): Reflect open_shared arg change. * pinfo.cc (myself_addr): Remove definition. (pinfo::init): Get myself address from open_shared. * pinfo.h (myself_addr): Remove declaration. * shared.cc (open_shared): Rework so that known shared memory locations are protected. Take shared memory type as fifth argument. (memory_init): Reflect open_shared arg change. * shared_info.h (shared_locations): New enum. (console_state): Move here. (open_shared): Reflect open_shared arg change in declaration. --- winsup/cygwin/shared_info.h | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/shared_info.h') diff --git a/winsup/cygwin/shared_info.h b/winsup/cygwin/shared_info.h index 232575bc7..a39275e49 100644 --- a/winsup/cygwin/shared_info.h +++ b/winsup/cygwin/shared_info.h @@ -161,6 +161,14 @@ extern shared_info *cygwin_shared; extern mount_info *mount_table; extern HANDLE cygwin_mount_h; +enum shared_locations +{ + SH_CYGWIN_SHARED, + SH_MOUNT_TABLE, + SH_SHARED_CONSOLE, + SH_MYSELF, + SH_TOTAL_SIZE +}; void __stdcall memory_init (); #define shared_align_past(p) \ @@ -169,8 +177,14 @@ void __stdcall memory_init (); system_info.dwAllocationGranularity))) #define cygwin_shared_address ((void *) 0xa000000) -#define mount_table_address shared_align_past (cygwin_shared) -#define cygheap_address shared_align_past ((mount_info *) shared_align_past (cygwin_shared)) + +#ifdef FHDEVN +struct console_state +{ + tty_min tty_min_state; + dev_console dev_state; +}; +#endif char *__stdcall shared_name (const char *, int); -void *__stdcall open_shared (const char *name, int n, HANDLE &shared_h, DWORD size, void *addr); +void *__stdcall open_shared (const char *name, int n, HANDLE &shared_h, DWORD size, shared_locations); -- cgit v1.2.3