[devel] Fw: Re: [sisyphus] Shared memory
Grigory Batalov
=?iso-8859-1?q?bga_=CE=C1_altlinux=2Eru?=
Чт Мар 25 11:10:59 MSK 2004
Date: Thu, 25 Mar 2004 02:59:41 -0500
From: Ivan Adzhubey <iadzhubey на rics.bwh.harvard.edu>
To: ALT Linux Sisyphus discussion list <sisyphus на altlinux.ru>
Subject: Re: [sisyphus] Shared memory - HELP PLEASE!
<skip>
Так, слегка запутался:
man shmget:
int shmget(key_t key, int size, int shmflg);
...shmget() returns the identifier of the shared memory segment associated
with the value of the argument key. A new shared memory segment, with
size equal to the value of size rounded up to a multiple of PAGE_SIZE, ...
PAGE_SIZE у нас вроде бы 0x400 == 1024 bytes
shm.h: #define SHMMIN 1 /* min shared seg size (bytes) */
но shmget работает как-то странно:
shmtest.c:
shmid = shmget(IPC_PRIVATE, 1, IPC_CREAT|0700);
ipcs:
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 1966087 ivan 700 0 1
<size=2...1022> аналогично
shmtest.c:
shmid = shmget(IPC_PRIVATE, 1023, IPC_CREAT|0700);
ipcs:
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 1966087 ivan 700 0 1
то есть никакой памяти не выделяется, хотя и ошибки тоже не генерируется.
shmtest.c:
shmid = shmget(IPC_PRIVATE, 1024, IPC_CREAT|0700);
ipcs:
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 1966087 ivan 700 4096 1
Опа, сразу 4 страницы!
shmtest.c:
shmid = shmget(IPC_PRIVATE, 2*1024, IPC_CREAT|0700);
ipcs:
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 1966087 ivan 700 8192 1
И так далее, в два раза больше чем запрошено.
Грустно, но курение манов совершенно не помогает.
Не перекинет ли кто из подписантов этот тред в devel@? Может гуру курят что-то
более подходящее к случаю и смогут помочь мне узреть истину?
--
Иван
_______________________________________________
Sisyphus mailing list
Sisyphus на altlinux.ru
http://lists.altlinux.ru/mailman/listinfo/sisyphus
Подробная информация о списке рассылки Devel