Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-12-22 15:02:36 +0400
committerCorinna Vinschen <corinna@vinschen.de>2011-12-22 15:02:36 +0400
commit177dc6c7f6d0608ef6540fd997d9b444e324cae2 (patch)
treea5c742c17d6bf502ffb8949365a04c18c3de62c1 /winsup/cygwin/sysconf.cc
parent8176232ddc752350e6d274947ad7eabb6b502276 (diff)
Throughout use wincap.allocation_granularity instead of getpagesize.
Throughout use wincap.page_size instead of getsystempagesize. Throughout use "status" as variable name to hold NTSTATUS values. * fhandler_mem.cc: Check for NT_SUCCESS rather than for STATUS_SUCCESS. Fix debug_printf output. Rectify long statements. Fix comment formatting. * fhandler_proc.cc: Ditto. (format_proc_swaps): Drop useless test for ERROR_PROC_NOT_FOUND. * fhandler_process.cc: Ditto as in fhandler_mem.cc. (get_process_state): Rearrange allocation loop. Use malloc/realloc. (get_mem_values): Fix potential NULL pointer usage. Drop unused variable. * pinfo.cc (winpids::enum_processes): Handle low memory gracefully. * sec_auth.cc (get_priv_list): Drop local variable ret. * shared.cc (memory_init): Drop outdated call to getpagesize. * syscalls.cc (getsystempagesize): Remove. * sysconf.cc: Check for NT_SUCCESS rather than for STATUS_SUCCESS. (sysinfo): Constify sizeof_stodi. Drop useless test for ERROR_PROC_NOT_FOUND. * thread.cc (pthread_getattr_np): Cast pointers to uintptr_t rather than to int for pointer arithmetic. * winsup.h (getsystempagesize): Drop declaration.
Diffstat (limited to 'winsup/cygwin/sysconf.cc')
-rw-r--r--winsup/cygwin/sysconf.cc78
1 files changed, 40 insertions, 38 deletions
diff --git a/winsup/cygwin/sysconf.cc b/winsup/cygwin/sysconf.cc
index f691b4568..f5bfe60d1 100644
--- a/winsup/cygwin/sysconf.cc
+++ b/winsup/cygwin/sysconf.cc
@@ -32,20 +32,21 @@ get_open_max (int in)
static long
get_page_size (int in)
{
- return getpagesize ();
+ return wincap.allocation_granularity ();
}
static long
get_nproc_values (int in)
{
- NTSTATUS ret;
+ NTSTATUS status;
SYSTEM_BASIC_INFORMATION sbi;
- if ((ret = NtQuerySystemInformation (SystemBasicInformation, (PVOID) &sbi,
- sizeof sbi, NULL)) != STATUS_SUCCESS)
+
+ status = NtQuerySystemInformation (SystemBasicInformation, (PVOID) &sbi,
+ sizeof sbi, NULL);
+ if (!NT_SUCCESS (status))
{
- __seterrno_from_nt_status (ret);
- debug_printf ("NtQuerySystemInformation: ret %d, Dos(ret) %E",
- ret);
+ __seterrno_from_nt_status (status);
+ debug_printf ("NtQuerySystemInformation: status %p, %E", status);
return -1;
}
switch (in)
@@ -63,7 +64,7 @@ get_nproc_values (int in)
}
case _SC_PHYS_PAGES:
return sbi.NumberOfPhysicalPages
- / (getpagesize () / getsystempagesize ());
+ / (wincap.allocation_granularity () / wincap.page_size ());
}
return -1;
}
@@ -71,18 +72,19 @@ get_nproc_values (int in)
static long
get_avphys (int in)
{
- NTSTATUS ret;
+ NTSTATUS status;
SYSTEM_PERFORMANCE_INFORMATION spi;
- if ((ret = NtQuerySystemInformation (SystemPerformanceInformation,
- (PVOID) &spi, sizeof spi, NULL))
- != STATUS_SUCCESS)
+
+ status = NtQuerySystemInformation (SystemPerformanceInformation,
+ (PVOID) &spi, sizeof spi, NULL);
+ if (!NT_SUCCESS (status))
{
- __seterrno_from_nt_status (ret);
- debug_printf ("NtQuerySystemInformation: ret %d, Dos(ret) %E",
- ret);
+ __seterrno_from_nt_status (status);
+ debug_printf ("NtQuerySystemInformation: status %d, %E", status);
return -1;
}
- return spi.AvailablePages / (getpagesize () / getsystempagesize ());
+ return spi.AvailablePages
+ / (wincap.allocation_granularity () / wincap.page_size ());
}
enum sc_type { nsup, cons, func };
@@ -334,8 +336,8 @@ sysinfo (struct sysinfo *info)
PSYSTEM_PAGEFILE_INFORMATION spi = NULL;
ULONG sizeof_spi = 512;
PSYSTEM_TIME_OF_DAY_INFORMATION stodi = NULL;
- ULONG sizeof_stodi = sizeof (SYSTEM_TIME_OF_DAY_INFORMATION);
- NTSTATUS ret = STATUS_SUCCESS;
+ const ULONG sizeof_stodi = sizeof (SYSTEM_TIME_OF_DAY_INFORMATION);
+ NTSTATUS status = STATUS_SUCCESS;
winpids pids ((DWORD) 0);
if (!info)
@@ -345,46 +347,46 @@ sysinfo (struct sysinfo *info)
}
stodi = (PSYSTEM_TIME_OF_DAY_INFORMATION) malloc (sizeof_stodi);
- ret = NtQuerySystemInformation (SystemTimeOfDayInformation, (PVOID) stodi,
- sizeof_stodi, NULL);
- if (NT_SUCCESS (ret))
- uptime = (stodi->CurrentTime.QuadPart - stodi->BootTime.QuadPart) / 10000000ULL;
+ status = NtQuerySystemInformation (SystemTimeOfDayInformation, (PVOID) stodi,
+ sizeof_stodi, NULL);
+ if (NT_SUCCESS (status))
+ uptime = (stodi->CurrentTime.QuadPart - stodi->BootTime.QuadPart)
+ / 10000000ULL;
else
- {
- debug_printf ("NtQuerySystemInformation(SystemTimeOfDayInformation), "
- "status %p", ret);
- }
+ debug_printf ("NtQuerySystemInformation(SystemTimeOfDayInformation), "
+ "status %p", status);
if (stodi)
free (stodi);
memory_status.dwLength = sizeof (MEMORYSTATUSEX);
GlobalMemoryStatusEx (&memory_status);
- totalram = memory_status.ullTotalPhys / getsystempagesize ();
- freeram = memory_status.ullAvailPhys / getsystempagesize ();
+ totalram = memory_status.ullTotalPhys / wincap.page_size ();
+ freeram = memory_status.ullAvailPhys / wincap.page_size ();
spi = (PSYSTEM_PAGEFILE_INFORMATION) malloc (sizeof_spi);
if (spi)
{
- ret = NtQuerySystemInformation (SystemPagefileInformation, (PVOID) spi,
- sizeof_spi, &sizeof_spi);
- if (ret == STATUS_INFO_LENGTH_MISMATCH)
+ status = NtQuerySystemInformation (SystemPagefileInformation, (PVOID) spi,
+ sizeof_spi, &sizeof_spi);
+ if (status == STATUS_INFO_LENGTH_MISMATCH)
{
free (spi);
spi = (PSYSTEM_PAGEFILE_INFORMATION) malloc (sizeof_spi);
if (spi)
- ret = NtQuerySystemInformation (SystemPagefileInformation,
- (PVOID) spi, sizeof_spi, &sizeof_spi);
+ status = NtQuerySystemInformation (SystemPagefileInformation,
+ (PVOID) spi, sizeof_spi,
+ &sizeof_spi);
}
}
- if (!spi || ret || (!ret && GetLastError () == ERROR_PROC_NOT_FOUND))
+ if (!spi || !NT_SUCCESS (status))
{
debug_printf ("NtQuerySystemInformation(SystemPagefileInformation), "
- "status %p", ret);
+ "status %p", status);
totalswap = (memory_status.ullTotalPageFile - memory_status.ullTotalPhys)
- / getsystempagesize ();
+ / wincap.page_size ();
freeswap = (memory_status.ullAvailPageFile - memory_status.ullTotalPhys)
- / getsystempagesize ();
+ / wincap.page_size ();
}
else
{
@@ -407,7 +409,7 @@ sysinfo (struct sysinfo *info)
info->totalswap = (unsigned long) totalswap;
info->freeswap = (unsigned long) freeswap;
info->procs = (unsigned short) pids.npids;
- info->mem_unit = (unsigned int) getsystempagesize ();
+ info->mem_unit = (unsigned int) wincap.page_size ();
/* FIXME: unsupported */
info->loads[0] = 0UL;