From d7aaa51dffc2d29192b64b382590d6752c82c3a3 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sun, 25 Aug 2002 00:08:23 +0000 Subject: Make shm stuff work properly. -Erik --- libc/misc/sysvipc/sem.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'libc/misc/sysvipc') diff --git a/libc/misc/sysvipc/sem.c b/libc/misc/sysvipc/sem.c index 46b4821a4..a3eaca7be 100644 --- a/libc/misc/sysvipc/sem.c +++ b/libc/misc/sysvipc/sem.c @@ -26,13 +26,13 @@ /* Return identifier for array of NSEMS semaphores associated with KEY. */ #include -/* Define a `union semun' suitable for Linux here. */ -union semun -{ +/* arg for semctl system calls. */ +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 */ + unsigned short *array; /* array for GETALL & SETALL */ + struct seminfo *__buf; /* buffer for IPC_INFO */ + void *__pad; }; @@ -41,18 +41,15 @@ union semun static inline _syscall4(int, __semctl, int, semid, int, semnum, int, cmd, union semun *, arg); #endif -int semctl (int semid, int semnum, int cmd, ...) +int semctl(int semid, int semnum, int cmd, ...) { union semun arg; - va_list ap; - - va_start (ap, cmd); + va_list ap; /* Get the argument. */ + va_start (ap, cmd); arg = va_arg (ap, union semun); - va_end (ap); - #ifdef __NR_semctl return __semctl(semid, semnum, cmd, &arg); #else -- cgit v1.2.3