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

Attachment: pgpBidj3poDj6.pgp
Description: PGP signature

Reply via email to