On 05/04/13 20:27, Simone Piccardi wrote: > Hi, > > in the semctl(2) man page (2012-05-31 version) I found a definitions of > semid_ds with: > > ... > unsigned short sem_nsems; /* No. of semaphores in set */ > ... > > but that's defined as: > > unsigned long int sem_nsems; /* number of semaphores in set */ > > in /usr/include/bits/sem.h (at least in my debian) > > I also found it defined as: > > int sem_nsems; /* no. of semaphores in array */ > > > in /usr/src/linux-3.7.6/include/linux/sem.h Thanks Simone. You're right. I applied the patch below. Cheers, Michael diff --git a/man2/semctl.2 b/man2/semctl.2 index d1bc542..c9124d7 100644 --- a/man2/semctl.2 +++ b/man2/semctl.2 @@ -88,7 +88,7 @@ struct semid_ds { struct ipc_perm sem_perm; /* Ownership and permissions */ time_t sem_otime; /* Last semop time */ time_t sem_ctime; /* Last change time */ - unsigned short sem_nsems; /* No. of semaphores in set */ + unsigned long sem_nsems; /* No. of semaphores in set */ }; .in .fi @@ -462,6 +462,17 @@ or greater than the implementation limit .SH CONFORMING TO SVr4, POSIX.1-2001. .\" SVr4 documents more error conditions EINVAL and EOVERFLOW. + +POSIX.1-2001 specifies the +.I sem_nsems +field of the +.I semid_ds +structure as having the type +.IR "unsigned\ short" , +and the field is so defined on most other systems. +It was also so defined on Linux 2.2 and earlier, +but, since Linux 2.4, the field has the type +.IR "unsigned\ long" . .SH NOTES The inclusion of .I <sys/types.h> -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html