On 30.12.2012 12:00, [email protected] wrote:
dobry den,
mam problem se sdilenou pameti, system odmita pridelit vice jak 64kB
Pokud dam mene jak 64kB, tak to vsechno funguje.

...
i = access (fname, W_OK | R_OK);
ke1 = ftok (fname, key);
...

iflag = IPC_CREAT | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP ;
...
..... mlength je typu int32
...
idm = shmget (ke1,mlength,iflag);
ie = errno;

......  TADY mi to vr?t? IDM -1 a perror
Invalid argument, pokud mlength > 65537 nebo tak nejak...


if (idm==-1) perror ("shmget: ");

if (idm != -1)
     {
     pmem = shmat (idm,NULL,SHM_RND);
......

Vyguglil jsem podobny problem, ale tam se jednalo o mnoho megabajtu.
Navic to je topic bez odpovedi.
ja bych potreboval tak 500kB az 1MB sdilene pameti
System je PC-BSD 9.0  32bit. jadro generic.
Zdravim,
napada mne, ze shm ma nekolik limitu nastavenych v sysctl se jmenem kern.ipc.shm* Ted nevim jaky jsou implicitni hodnoty, ale mozna pohrat si s velikosti segmentu pomuze.

vw

# sysctl -a | grep shm
kern.ipc.shm_allow_removed: 0
kern.ipc.shm_use_phys: 0
kern.ipc.shmall: 8192
kern.ipc.shmseg: 128
kern.ipc.shmmni: 192
kern.ipc.shmmin: 1
kern.ipc.shmmax: 33554432

--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem