1998-06-19  Ulrich Drepper  <drepper@cygnus.com>

	* 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.
This commit is contained in:
Ulrich Drepper 1998-06-19 11:09:14 +00:00
parent dfab448bd8
commit 977bfd77e6
6 changed files with 58 additions and 30 deletions

View File

@ -1,3 +1,14 @@
1998-06-19 Ulrich Drepper <drepper@cygnus.com>
* 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.
1998-06-18 21:45 Ulrich Drepper <drepper@cygnus.com> 1998-06-18 21:45 Ulrich Drepper <drepper@cygnus.com>
* signal/signal.h: Add prototype for __sigaltstack. * signal/signal.h: Add prototype for __sigaltstack.

View File

@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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 */ unsigned short int sem_nsems; /* number of semaphores in set */
}; };
/* Union used for argument for `semctl'. */ /* The user should define a union like the following to use it for arguments
union semun for `semctl'.
{
int val; /* value for SETVAL */ union semun
struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */ {
unsigned short int *array; /* array for GETALL & SETALL */ int val; <= value for SETVAL
struct seminfo *__buf; /* buffer for IPC_INFO */ 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

View File

@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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 */ unsigned short int sem_nsems; /* number of semaphores in set */
}; };
/* Union used for argument for `semctl'. */ /* The user should define a union like the following to use it for arguments
union semun for `semctl'.
{
int val; /* value for SETVAL */ union semun
struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */ {
unsigned short int *array; /* array for GETALL & SETALL */ int val; <= value for SETVAL
struct seminfo *__buf; /* buffer for IPC_INFO */ 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

View File

@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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 __BEGIN_DECLS
/* The actual system call: all functions are multiplexed by this. */ /* The actual system call: all functions are multiplexed by this. */

View File

@ -62,7 +62,7 @@ struct semid_ds
Previous versions of this file used to define this union but this is 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 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 #define _SEM_SEMUN_UNDEFINED 1
#ifdef __USE_MISC #ifdef __USE_MISC

View File

@ -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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
@ -19,6 +19,16 @@
#include <sys/msg.h> #include <sys/msg.h>
/* 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 int
msgrcv (msqid, msgp, msgsz, msgtyp, msgflg) msgrcv (msqid, msgp, msgsz, msgtyp, msgflg)
int msqid; int msqid;