aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2005-09-27 19:04:38 +0000
committerCorinna Vinschen <corinna@vinschen.de>2005-09-27 19:04:38 +0000
commitf1cdab8563361648a8585f0f43fe070d6b440fc9 (patch)
tree1aef8b05d34d6d9693e1d3e924b4b85f85398915
parente0be0a1d50bc7d10601d44c98d95b2132aca5033 (diff)
downloadnewlib-f1cdab8563361648a8585f0f43fe070d6b440fc9.zip
newlib-f1cdab8563361648a8585f0f43fe070d6b440fc9.tar.gz
newlib-f1cdab8563361648a8585f0f43fe070d6b440fc9.tar.bz2
* cygheap.cc (cygheap_init): Add GLOBAL_PRIV to hProcToken explicitely
since hProcImpToken isn't initialized here. * shared.cc (open_shared): Always print mapname instead of name in debug output.
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/cygheap.cc2
-rw-r--r--winsup/cygwin/shared.cc13
3 files changed, 14 insertions, 8 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index f58ed1e..fca90f7 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,10 @@
+2005-09-27 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygheap.cc (cygheap_init): Add GLOBAL_PRIV to hProcToken explicitely
+ since hProcImpToken isn't initialized here.
+ * shared.cc (open_shared): Always print mapname instead of name in
+ debug output.
+
2005-09-27 Christopher Faylor <cgf@timesys.com>
* strace.cc (strace::vsprntf): Avoid printing a zero pid.
diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc
index 6cbdf6e..d7d1566 100644
--- a/winsup/cygwin/cygheap.cc
+++ b/winsup/cygwin/cygheap.cc
@@ -170,7 +170,7 @@ cygheap_init ()
if (!cygheap->shared_prefix)
cygheap->shared_prefix = cstrdup (
wincap.has_terminal_services ()
- && (set_process_privilege (SE_CREATE_GLOBAL_PRIV, true) >= 0
+ && (set_privilege (hProcToken, SE_CREATE_GLOBAL_PRIV, true) >= 0
|| GetLastError () == ERROR_NO_SUCH_PRIVILEGE)
? "Global\\" : "");
}
diff --git a/winsup/cygwin/shared.cc b/winsup/cygwin/shared.cc
index 02c512f..c491708 100644
--- a/winsup/cygwin/shared.cc
+++ b/winsup/cygwin/shared.cc
@@ -89,15 +89,14 @@ open_shared (const char *name, int n, HANDLE& shared_h, DWORD size,
VirtualFree (addr, 0, MEM_RELEASE);
}
+ char map_buf[CYG_MAX_PATH];
+ char *mapname = NULL;
+
if (shared_h)
m = SH_JUSTOPEN;
else
{
- char *mapname;
- char map_buf[CYG_MAX_PATH];
- if (!name)
- mapname = NULL;
- else
+ if (name)
mapname = shared_name (map_buf, name, n);
if (m == SH_JUSTOPEN)
shared_h = OpenFileMapping (access, FALSE, mapname);
@@ -133,7 +132,7 @@ open_shared (const char *name, int n, HANDLE& shared_h, DWORD size,
}
if (!shared)
- api_fatal ("MapViewOfFileEx '%s'(%p), %E. Terminating.", name, shared_h);
+ api_fatal ("MapViewOfFileEx '%s'(%p), %E. Terminating.", mapname, shared_h);
if (m == SH_CYGWIN_SHARED && offsets[0] && wincap.needs_memory_protection ())
{
@@ -155,7 +154,7 @@ open_shared (const char *name, int n, HANDLE& shared_h, DWORD size,
#endif
}
- debug_printf ("name %s, n %d, shared %p (wanted %p), h %p", name, n, shared, addr, shared_h);
+ debug_printf ("name %s, n %d, shared %p (wanted %p), h %p", mapname, n, shared, addr, shared_h);
return shared;
}