summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-05-11 09:07:20 +0000
committerCorinna Vinschen <corinna@vinschen.de>2011-05-11 09:07:20 +0000
commit34a6eeabfffd0ba2f1db43bae5f7239a49e080bb (patch)
tree9a02033c02e292c6f62724143d4ecd0014c2e72d
parent933d2af50db22d4b79eb5f9849df11d3956cac6c (diff)
downloadcygnal-34a6eeabfffd0ba2f1db43bae5f7239a49e080bb.tar.gz
cygnal-34a6eeabfffd0ba2f1db43bae5f7239a49e080bb.tar.bz2
cygnal-34a6eeabfffd0ba2f1db43bae5f7239a49e080bb.zip
* autoload.cc (GetProcessMemoryInfo): Remove.
* resource.cc (fill_rusage): Call NtQueryInformationProcess rather than GetProcessMemoryInfo to drop a psapi dependency.
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/autoload.cc1
-rw-r--r--winsup/cygwin/resource.cc15
3 files changed, 14 insertions, 8 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 419d3f3c2..017987f7d 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,11 @@
2011-05-11 Corinna Vinschen <corinna@vinschen.de>
+ * autoload.cc (GetProcessMemoryInfo): Remove.
+ * resource.cc (fill_rusage): Call NtQueryInformationProcess rather than
+ GetProcessMemoryInfo to drop a psapi dependency.
+
+2011-05-11 Corinna Vinschen <corinna@vinschen.de>
+
* fhandler_socket.cc (get_inet_addr): Rearrange for better readability.
Make waiting loop interruptible and cancelable. Check for SYSTEM DOS
flag before reading the file. Change return value to return 0 on
diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc
index 269918e82..bd9fc836a 100644
--- a/winsup/cygwin/autoload.cc
+++ b/winsup/cygwin/autoload.cc
@@ -417,7 +417,6 @@ LoadDLLfunc (CoTaskMemFree, 4, ole32)
LoadDLLfunc (EnumProcessModules, 16, psapi)
LoadDLLfunc (GetModuleFileNameExW, 16, psapi)
LoadDLLfunc (GetModuleInformation, 16, psapi)
-LoadDLLfunc (GetProcessMemoryInfo, 12, psapi)
LoadDLLfunc (QueryWorkingSet, 12, psapi)
LoadDLLfunc (LsaDeregisterLogonProcess, 4, secur32)
diff --git a/winsup/cygwin/resource.cc b/winsup/cygwin/resource.cc
index fed61e8ee..43feec02b 100644
--- a/winsup/cygwin/resource.cc
+++ b/winsup/cygwin/resource.cc
@@ -1,6 +1,6 @@
/* resource.cc: getrusage () and friends.
- Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2009, 2010 Red Hat, Inc.
+ Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2009, 2010, 2011 Red Hat, Inc.
Written by Steve Chamberlain (sac@cygnus.com), Doug Evans (dje@cygnus.com),
Geoffrey Noer (noer@cygnus.com) of Cygnus Support.
@@ -22,6 +22,7 @@ details. */
#include "pinfo.h"
#include "dtable.h"
#include "cygheap.h"
+#include "ntdll.h"
/* add timeval values */
static void
@@ -76,13 +77,13 @@ fill_rusage (struct rusage *r, HANDLE h)
totimeval (&tv, &user_time, 0, 0);
add_timeval (&r->ru_utime, &tv);
- PROCESS_MEMORY_COUNTERS pmc;
-
- memset (&pmc, 0, sizeof (pmc));
- if (GetProcessMemoryInfo (h, &pmc, sizeof (pmc)))
+ VM_COUNTERS vmc;
+ NTSTATUS status = NtQueryInformationProcess (h, ProcessVmCounters, &vmc,
+ sizeof vmc, NULL);
+ if (NT_SUCCESS (status))
{
- r->ru_maxrss += (long) (pmc.WorkingSetSize /1024);
- r->ru_majflt += pmc.PageFaultCount;
+ r->ru_maxrss += (long) (vmc.WorkingSetSize / 1024);
+ r->ru_majflt += vmc.PageFaultCount;
}
}