Fix incompatibilities with 64-bit Windows builds.
src/w32fns.c (cache_system_info): Cast sysinfo_cache.dwPageSize to DWORD_PTR, for compatibility with 64-bit builds. src/w32.c (_PROCESS_MEMORY_COUNTERS_EX): (GetProcessWorkingSetSize_Proc, get_process_working_set_size) (system_process_attributes): Use SIZE_T rather than DWORD, for compatibility with 64-bit builds.
This commit is contained in:
parent
6ce49f2459
commit
cb576b5cd0
3 changed files with 29 additions and 19 deletions
|
@ -1,3 +1,13 @@
|
|||
2012-12-08 Fabrice Popineau <fabrice.popineau@gmail.com>
|
||||
|
||||
* w32fns.c (cache_system_info): Cast sysinfo_cache.dwPageSize to
|
||||
DWORD_PTR, for compatibility with 64-bit builds.
|
||||
|
||||
* w32.c (_PROCESS_MEMORY_COUNTERS_EX):
|
||||
(GetProcessWorkingSetSize_Proc, get_process_working_set_size)
|
||||
(system_process_attributes): Use SIZE_T rather than DWORD, for
|
||||
compatibility with 64-bit builds.
|
||||
|
||||
2012-12-08 Christopher Schmidt <christopher@ch.ristopher.com>
|
||||
|
||||
* lread.c (Vload_source_file_function): Doc fix (Bug#11647).
|
||||
|
|
36
src/w32.c
36
src/w32.c
|
@ -101,17 +101,17 @@ typedef struct _MEMORY_STATUS_EX {
|
|||
_WIN32_WINNT than what we use. w32api supplied with MinGW 3.15
|
||||
defines it in psapi.h */
|
||||
typedef struct _PROCESS_MEMORY_COUNTERS_EX {
|
||||
DWORD cb;
|
||||
DWORD PageFaultCount;
|
||||
DWORD PeakWorkingSetSize;
|
||||
DWORD WorkingSetSize;
|
||||
DWORD QuotaPeakPagedPoolUsage;
|
||||
DWORD QuotaPagedPoolUsage;
|
||||
DWORD QuotaPeakNonPagedPoolUsage;
|
||||
DWORD QuotaNonPagedPoolUsage;
|
||||
DWORD PagefileUsage;
|
||||
DWORD PeakPagefileUsage;
|
||||
DWORD PrivateUsage;
|
||||
DWORD cb;
|
||||
DWORD PageFaultCount;
|
||||
SIZE_T PeakWorkingSetSize;
|
||||
SIZE_T WorkingSetSize;
|
||||
SIZE_T QuotaPeakPagedPoolUsage;
|
||||
SIZE_T QuotaPagedPoolUsage;
|
||||
SIZE_T QuotaPeakNonPagedPoolUsage;
|
||||
SIZE_T QuotaNonPagedPoolUsage;
|
||||
SIZE_T PagefileUsage;
|
||||
SIZE_T PeakPagefileUsage;
|
||||
SIZE_T PrivateUsage;
|
||||
} PROCESS_MEMORY_COUNTERS_EX,*PPROCESS_MEMORY_COUNTERS_EX;
|
||||
#endif
|
||||
|
||||
|
@ -351,8 +351,8 @@ typedef BOOL (WINAPI * GetProcessMemoryInfo_Proc) (
|
|||
DWORD cb);
|
||||
typedef BOOL (WINAPI * GetProcessWorkingSetSize_Proc) (
|
||||
HANDLE hProcess,
|
||||
DWORD * lpMinimumWorkingSetSize,
|
||||
DWORD * lpMaximumWorkingSetSize);
|
||||
PSIZE_T lpMinimumWorkingSetSize,
|
||||
PSIZE_T lpMaximumWorkingSetSize);
|
||||
typedef BOOL (WINAPI * GlobalMemoryStatus_Proc) (
|
||||
LPMEMORYSTATUS lpBuffer);
|
||||
typedef BOOL (WINAPI * GlobalMemoryStatusEx_Proc) (
|
||||
|
@ -4620,8 +4620,8 @@ get_process_memory_info (HANDLE h_proc,
|
|||
|
||||
static BOOL WINAPI
|
||||
get_process_working_set_size (HANDLE h_proc,
|
||||
DWORD *minrss,
|
||||
DWORD *maxrss)
|
||||
PSIZE_T minrss,
|
||||
PSIZE_T maxrss)
|
||||
{
|
||||
static GetProcessWorkingSetSize_Proc
|
||||
s_pfn_Get_Process_Working_Set_Size = NULL;
|
||||
|
@ -4866,7 +4866,7 @@ system_process_attributes (Lisp_Object pid)
|
|||
unsigned egid;
|
||||
PROCESS_MEMORY_COUNTERS mem;
|
||||
PROCESS_MEMORY_COUNTERS_EX mem_ex;
|
||||
DWORD minrss, maxrss;
|
||||
SIZE_T minrss, maxrss;
|
||||
MEMORYSTATUS memst;
|
||||
MEMORY_STATUS_EX memstex;
|
||||
double totphys = 0.0;
|
||||
|
@ -5094,7 +5094,7 @@ system_process_attributes (Lisp_Object pid)
|
|||
&& get_process_memory_info (h_proc, (PROCESS_MEMORY_COUNTERS *)&mem_ex,
|
||||
sizeof (mem_ex)))
|
||||
{
|
||||
DWORD rss = mem_ex.WorkingSetSize / 1024;
|
||||
SIZE_T rss = mem_ex.WorkingSetSize / 1024;
|
||||
|
||||
attrs = Fcons (Fcons (Qmajflt,
|
||||
make_fixnum_or_float (mem_ex.PageFaultCount)),
|
||||
|
@ -5109,7 +5109,7 @@ system_process_attributes (Lisp_Object pid)
|
|||
else if (h_proc
|
||||
&& get_process_memory_info (h_proc, &mem, sizeof (mem)))
|
||||
{
|
||||
DWORD rss = mem_ex.WorkingSetSize / 1024;
|
||||
SIZE_T rss = mem_ex.WorkingSetSize / 1024;
|
||||
|
||||
attrs = Fcons (Fcons (Qmajflt,
|
||||
make_fixnum_or_float (mem.PageFaultCount)),
|
||||
|
|
|
@ -7032,7 +7032,7 @@ cache_system_info (void)
|
|||
|
||||
/* Cache page size, allocation unit, processor type, etc. */
|
||||
GetSystemInfo (&sysinfo_cache);
|
||||
syspage_mask = sysinfo_cache.dwPageSize - 1;
|
||||
syspage_mask = (DWORD_PTR)sysinfo_cache.dwPageSize - 1;
|
||||
|
||||
/* Cache os info. */
|
||||
osinfo_cache.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
|
||||
|
|
Loading…
Add table
Reference in a new issue