[uClibc] semctl's last argument
Joakim Tjernlund
joakim.tjernlund at lumentis.se
Tue Sep 28 11:29:59 UTC 2004
> Here is a patch.
>
> --- uClibc.org/libc/misc/sysvipc/sem.c Thu Jan 22 08:27:39 2004
> +++ uClibc/libc/misc/sysvipc/sem.c Mon Sep 27 17:54:29 2004
> @@ -38,7 +38,7 @@
>
> #ifdef __NR_semctl
> #define __NR___semctl __NR_semctl
> -static inline _syscall4(int, __semctl, int, semid, int, semnum, int, cmd, union semun *, arg);
> +static inline _syscall4(int, __semctl, int, semid, int, semnum, int, cmd, void *, arg);
> #endif
>
> int semctl(int semid, int semnum, int cmd, ...)
> @@ -51,7 +51,7 @@
> arg = va_arg (ap, union semun);
> va_end (ap);
> #ifdef __NR_semctl
> - return __semctl(semid, semnum, cmd, &arg);
> + return __semctl(semid, semnum, cmd, arg.__pad);
> #else
> return __syscall_ipc(IPCOP_semctl, semid, semnum, cmd, &arg);
> #endif
hmm, I can't find where __NR_semctl is defined. Is it defined at all?
Can't you write:
static inline _syscall4(int, __semctl, int, semid, int, semnum, int, cmd, union semun, arg);
return __semctl(semid, semnum, cmd, arg);
instead?
More information about the uClibc
mailing list