2G+ sysv shm segments

Peter Jeremy peterjeremy at optushome.com.au
Tue Oct 16 12:38:46 PDT 2007


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
>@@ -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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20071016/d0f1406c/attachment.pgp


More information about the freebsd-current mailing list