diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 88dc85942..7621c548a 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,10 @@ +2009-11-06 Corinna Vinschen + + * shared.cc (inst_root_inited): New static bool variable. + (init_installation_root): Set inst_root_inited to true. + (memory_init): Print installation root debug output only if + inst_root_inited is true. + 2009-11-05 Corinna Vinschen * syscalls.cc (nt_path_has_suffix): New function. diff --git a/winsup/cygwin/shared.cc b/winsup/cygwin/shared.cc index ed3021cab..019636696 100644 --- a/winsup/cygwin/shared.cc +++ b/winsup/cygwin/shared.cc @@ -37,6 +37,7 @@ HANDLE NO_COPY cygwin_user_h; WCHAR installation_root[PATH_MAX] __attribute__((section (".cygwin_dll_common"), shared)); UNICODE_STRING installation_key __attribute__((section (".cygwin_dll_common"), shared)); WCHAR installation_key_buf[18] __attribute__((section (".cygwin_dll_common"), shared)); +static bool inst_root_inited; /* Use absolute path of cygwin1.dll to derive the Win32 dir which is our installation_root. Note that we can't handle Cygwin installation @@ -114,6 +115,8 @@ init_installation_root () installation_key.Length = 0; installation_key.Buffer[0] = L'\0'; } + + inst_root_inited = true; } /* This function returns a handle to the top-level directory in the global @@ -432,8 +435,9 @@ memory_init (bool init_cygheap) /* Defer debug output printing the installation root and installation key up to this point. Debug output except for system_printf requires the global shared memory to exist. */ - debug_printf ("Installation root: <%W> key: <%S>", - installation_root, &installation_key); + if (inst_root_inited) + debug_printf ("Installation root: <%W> key: <%S>", + installation_root, &installation_key); cygwin_shared->initialize (); user_shared_create (false); }