Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37864812
en ru br
Репозитории ALT
S:2.39.2-alt1
5.1: 2.16.1-alt1
4.1: 2.13-alt8
4.0: 2.12r-alt6
3.0: 2.12q-alt1
www.altlinux.org/Changes

Группа :: Система/Основа
Пакет: util-linux

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: util-linux-ng-2.13-ipcs-32bit.patch
Скачать


--- util-linux-ng-2.13-rc3/sys-utils/ipcs.c.kzak	2007-04-25 14:43:38.000000000 +0200
+++ util-linux-ng-2.13-rc3/sys-utils/ipcs.c	2007-08-13 12:21:15.000000000 +0200
@@ -253,6 +253,26 @@
 		printf(" %-10d\n", ipcp->gid);
 }
 
+static unsigned long long
+shminfo_from_proc(const char *name, unsigned long def)
+{
+	char path[256];
+	char buf[64];
+	FILE *f;
+	unsigned long long res = def;
+
+	if (!name)
+		return res;
+
+	snprintf(path, sizeof(path), "/proc/sys/kernel/%s", name);
+
+	if (!(f = fopen(path, "r")))
+		return res;
+	if (fgets(buf, sizeof(buf), f))
+		res = atoll(buf);
+	fclose(f);
+	return res;
+}
 
 void do_shm (char format)
 {
@@ -268,7 +288,7 @@
 		printf (_("kernel not configured for shared memory\n"));
 		return;
 	}
-	
+
 	switch (format) {
 	case LIMITS:
 		printf (_("------ Shared Memory Limits --------\n"));
@@ -276,12 +296,12 @@
 			return;
 		/* glibc 2.1.3 and all earlier libc's have ints as fields
 		   of struct shminfo; glibc 2.1.91 has unsigned long; ach */
-		printf (_("max number of segments = %lu\n"),
-			(unsigned long) shminfo.shmmni);
-		printf (_("max seg size (kbytes) = %lu\n"),
-			(unsigned long) (shminfo.shmmax >> 10));
+		printf (_("max number of segments = %llu\n"),
+			shminfo_from_proc("shmmni", shminfo.shmmni));
+		printf (_("max seg size (kbytes) = %llu\n"),
+			(shminfo_from_proc("shmmax", shminfo.shmmax) >> 10));
 		printf (_("max total shared memory (kbytes) = %llu\n"),
-			sysconf(_SC_PAGESIZE) / 1024 * (unsigned long long) shminfo.shmall);
+			sysconf(_SC_PAGESIZE) / 1024 * shminfo_from_proc("shmall", shminfo.shmall));
 		printf (_("min seg size (bytes) = %lu\n"),
 			(unsigned long) shminfo.shmmin);
 		return;
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin