* cygheap.cc (cygheap_init): Set cygheap->shared_prefix.

* cygheap.h (struct init_cygheap): Add shared_prefix.
	* shared.cc (shared_name): Use cygheap->shared_prefix.
This commit is contained in:
Corinna Vinschen 2003-12-01 15:03:43 +00:00
parent 4febe95f89
commit 6c2b784612
4 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2003-12-01 Corinna Vinschen <corinna@vinschen.de>
* cygheap.cc (cygheap_init): Set cygheap->shared_prefix.
* cygheap.h (struct init_cygheap): Add shared_prefix.
* shared.cc (shared_name): Use cygheap->shared_prefix.
2003-12-01 Pierre Humblet <pierre.humblet@ieee.org>
* shared.cc (shared_name): Take into account the SE_CREATE_GLOBAL_NAME

View File

@ -206,6 +206,12 @@ cygheap_init ()
cygheap->fdtab.init ();
if (!cygheap->sigs)
sigalloc ();
if (!cygheap->shared_prefix)
cygheap->shared_prefix = cstrdup (
wincap.has_terminal_services ()
&& (set_process_privilege (SE_CREATE_GLOBAL_NAME, true) >= 0
|| GetLastError () == ERROR_NO_SUCH_PRIVILEGE)
? "Global\\" : "");
}
/* Copyright (C) 1997, 2000 DJ Delorie */

View File

@ -254,6 +254,7 @@ struct init_cygheap
char *cygwin_regname;
cwdstuff cwd;
dtable fdtab;
const char *shared_prefix;
#ifdef DEBUGGING
cygheap_debug debug;
#endif

View File

@ -35,12 +35,8 @@ char * __stdcall
shared_name (char *ret_buf, const char *str, int num)
{
extern bool _cygwin_testing;
static const char *prefix =
wincap.has_terminal_services ()
&& (set_process_privilege (SE_CREATE_GLOBAL_NAME, true) >= 0
|| GetLastError () == ERROR_NO_SUCH_PRIVILEGE) ? "Global\\" : "";
__small_sprintf (ret_buf, "%s%s.%s.%d", prefix,
__small_sprintf (ret_buf, "%s%s.%s.%d", cygheap->shared_prefix,
cygwin_version.shared_id, str, num);
if (_cygwin_testing)
strcat (ret_buf, cygwin_version.dll_build_date);