#if defined(R__HPUX) || defined (R__ALPHA) || defined (R__SOLARIS) || \
defined(R__AIX) || defined(R__HIUX) || defined (R__MKLINUX) || \
__GLIBC_MINOR__ > 0
union semun {
int val; // value for SETVAL
struct semid_ds *buf; // buffer for IPC_STAT & IPC_SET
ushort *array; // array for GETALL & SETALL
};
#endif
#ifdef R__LINUX
# define SEM_A 0200 // alter permission
# define SEM_R 0400 // read permission
#endif
the test on GLIBC_MINOR is apparently doing the job.
Rene Brun
Phil Adamson wrote:
>
> It appears that sys/sem.h no longer defines union semun. Wildly trivial
> patch:
>
> --- src/BASE_MapFile.cxx Mon Mar 29 14:43:07 1999
> +++ src/BASE_MapFile.cxx.new Wed May 19 15:44:08 1999
> @@ -161,6 +161,15 @@
> #ifdef R__LINUX
> # define SEM_A 0200 // alter permission
> # define SEM_R 0400 // read permission
> +#ifdef _SEM_SEMUN_UNDEFINED
> + 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
> + };
> +#endif
> #endif
> #endif
>
> Phil
>
> _/_/_/ _/ _/ _/ _/ P.Adamson@sussex.ac.uk U Sussex / MINOS
> _/ _/ _/_/_/ _/ _/ I know that there are people who do not love their
> _/_/_/ _/ _/ _/ _/_/_/ fellow human beings, and I hate people like that.
> _/ PGP 1024/61A59EE9 28 1B C7 76 C5 02 FE C0 CE 05 E9 05 36 94 05 FB