On 2007-Oct-15 18:17:14 +0400, Igor Sysoev <[EMAIL PROTECTED]> 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
>@@ -77,7 +77,7 @@
>
> 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
>@@ -439,7 +439,7 @@
> 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.
--
Peter Jeremy
pgpBidj3poDj6.pgp
Description: PGP signature
