On Wed, Oct 17, 2007 at 05:38:43AM +1000, Peter Jeremy wrote: > On 2007-Oct-15 18:17:14 +0400, Igor Sysoev <is_at_rambler-co.ru> wrote: > >more than 2G. The attached patches against 6.x and 7.x allow to create 2G+ > >segments. > > Useful, thanks. > > >--- src/sys/sys/shm.h 2007-09-12 23:33:39.000000000 +0400 > >+++ src/sys/sys/shm.h 2007-10-15 17:42:38.000000000 +0400 > >_at__at_ -77,7 +77,7 _at__at_ > > > > struct shmid_ds { > > struct ipc_perm shm_perm; /* operation permission structure */ > >- int shm_segsz; /* size of segment in bytes */ > >+ size_t shm_segsz; /* size of segment in bytes */ > ... > >--- src/usr.bin/ipcs/ipcs.c 2007-09-12 23:32:25.000000000 +0400 > >+++ src/usr.bin/ipcs/ipcs.c 2007-10-15 17:29:06.000000000 +0400 > >_at__at_ -439,7 +439,7 _at__at_ > > kshmptr->u.shm_nattch); > > > > if (option & BIGGEST) > >- printf(" %12d", > >+ printf(" %12ld", > > kshmptr->u.shm_segsz); > > Note that size_t is always 'unsigned' and translates to 'int' rather > than 'long' on i386 so this printf will report a warning. I suggest > printf(" %12lu", (unsigned long)kshmptr->u.shm_segsz); or similar. Here should be %zu. However, this patch can not be commited even to 7/8, because it does not preserve binary compatibility for shmctl(IPC_STAT). It seems that should be new shmctl syscall. -- Igor Sysoev http://sysoev.ru/en/Received on Tue Oct 16 2007 - 17:53:52 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:19 UTC