summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-06-19 11:09:14 +0000
committerUlrich Drepper <drepper@redhat.com>1998-06-19 11:09:14 +0000
commit977bfd77e6cd739c82491fa9fe4b54b269ea349d (patch)
tree46dcc1eed0b51fa64baf075f4d54ae092cc11ba9
parentdfab448bd8352b372814ca8df0651612296d8e8e (diff)
Update.
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.
-rw-r--r--ChangeLog11
-rw-r--r--bits/sem.h26
-rw-r--r--sysdeps/generic/bits/sem.h26
-rw-r--r--sysdeps/unix/sysv/linux/bits/ipc.h11
-rw-r--r--sysdeps/unix/sysv/linux/bits/sem.h2
-rw-r--r--sysdeps/unix/sysv/linux/msgrcv.c12
6 files changed, 58 insertions, 30 deletions
diff --git a/ChangeLog b/ChangeLog
index 96a9bdaeca..09d59f456c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
* signal/signal.h: Add prototype for __sigaltstack.
diff --git a/bits/sem.h b/bits/sem.h
index 8b9f97c62a..cb6657a345 100644
--- a/bits/sem.h
+++ b/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/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 <drepper@gnu.ai.mit.edu>, August 1995.
@@ -19,6 +19,16 @@
#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
msgrcv (msqid, msgp, msgsz, msgtyp, msgflg)
int msqid;