From 977bfd77e6cd739c82491fa9fe4b54b269ea349d Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 19 Jun 1998 11:09:14 +0000 Subject: Update. 1998-06-19 Ulrich Drepper * sysdeps/generic/bits/sem.h: Don't define union semun. * sysdeps/unix/sysv/linux/bits/sem.h: Fix typo. * sysdeps/unix/sysv/linux/bits/ipc.h: Remove ipc_kludge definition here. * sysdeps/unix/sysv/linux/msgrcv.c (msgrcv): Add ipc_kludge definition here. --- sysdeps/generic/bits/sem.h | 26 +++++++++++++++++--------- sysdeps/unix/sysv/linux/bits/ipc.h | 11 +---------- sysdeps/unix/sysv/linux/bits/sem.h | 2 +- sysdeps/unix/sysv/linux/msgrcv.c | 12 +++++++++++- 4 files changed, 30 insertions(+), 21 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/generic/bits/sem.h b/sysdeps/generic/bits/sem.h index 8b9f97c62a..cb6657a345 100644 --- a/sysdeps/generic/bits/sem.h +++ b/sysdeps/generic/bits/sem.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -44,11 +45,18 @@ struct semid_ds unsigned short int sem_nsems; /* number of semaphores in set */ }; -/* Union used for argument for `semctl'. */ -union semun -{ - int val; /* value for SETVAL */ - struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */ - unsigned short int *array; /* array for GETALL & SETALL */ - struct seminfo *__buf; /* buffer for IPC_INFO */ - }; +/* The user should define a union like the following to use it for arguments + for `semctl'. + + union semun + { + int val; <= value for SETVAL + struct semid_ds *buf; <= buffer for IPC_STAT & IPC_SET + unsigned short int *array; <= array for GETALL & SETALL + struct seminfo *__buf; <= buffer for IPC_INFO + }; + + Previous versions of this file used to define this union but this is + incorrect. One can test the macro _SEM_SEMUN_UNDEFINED to see whether + one must define the union or not. */ +#define _SEM_SEMUN_UNDEFINED 1 diff --git a/sysdeps/unix/sysv/linux/bits/ipc.h b/sysdeps/unix/sysv/linux/bits/ipc.h index 8b5db4add6..908647c1e4 100644 --- a/sysdeps/unix/sysv/linux/bits/ipc.h +++ b/sysdeps/unix/sysv/linux/bits/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -50,15 +50,6 @@ struct ipc_perm }; -/* Kludge to work around Linux' restriction of only up to five - arguments to a system call. */ -struct ipc_kludge - { - void *msgp; - long int msgtyp; - }; - - __BEGIN_DECLS /* The actual system call: all functions are multiplexed by this. */ diff --git a/sysdeps/unix/sysv/linux/bits/sem.h b/sysdeps/unix/sysv/linux/bits/sem.h index dc0ec46cba..3d113a74f6 100644 --- a/sysdeps/unix/sysv/linux/bits/sem.h +++ b/sysdeps/unix/sysv/linux/bits/sem.h @@ -62,7 +62,7 @@ struct semid_ds Previous versions of this file used to define this union but this is incorrect. One can test the macro _SEM_SEMUN_UNDEFINED to see whether - one must define the unio or not. */ + one must define the union or not. */ #define _SEM_SEMUN_UNDEFINED 1 #ifdef __USE_MISC diff --git a/sysdeps/unix/sysv/linux/msgrcv.c b/sysdeps/unix/sysv/linux/msgrcv.c index 40c3c95728..a8a0dea3fe 100644 --- a/sysdeps/unix/sysv/linux/msgrcv.c +++ b/sysdeps/unix/sysv/linux/msgrcv.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , August 1995. @@ -19,6 +19,16 @@ #include + +/* Kludge to work around Linux' restriction of only up to five + arguments to a system call. */ +struct ipc_kludge + { + void *msgp; + long int msgtyp; + }; + + int msgrcv (msqid, msgp, msgsz, msgtyp, msgflg) int msqid; -- cgit 1.4.1