aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-10-20 06:14:58 +0000
committerUlrich Drepper <drepper@redhat.com>2000-10-20 06:14:58 +0000
commitd0168cc0992a79245c17d892a622fec527b1fb03 (patch)
treee23a77cc4020fefd99b7de9e5e766ae5f6fc53a8
parentd9c1416a4a5b9b3da5f90eabae5d7cecfd3b6986 (diff)
downloadglibc-d0168cc0992a79245c17d892a622fec527b1fb03.tar
glibc-d0168cc0992a79245c17d892a622fec527b1fb03.tar.gz
glibc-d0168cc0992a79245c17d892a622fec527b1fb03.tar.bz2
glibc-d0168cc0992a79245c17d892a622fec527b1fb03.zip
(__new_semctl): Pass union semun as 4th argument to semctl syscall, not
address of it.
-rw-r--r--sysdeps/unix/sysv/linux/alpha/semctl.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/semctl.c b/sysdeps/unix/sysv/linux/alpha/semctl.c
index 48bc2d45cf..ea1a1e4d71 100644
--- a/sysdeps/unix/sysv/linux/alpha/semctl.c
+++ b/sysdeps/unix/sysv/linux/alpha/semctl.c
@@ -73,7 +73,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
#if __ASSUME_32BITUIDS > 0
return INLINE_SYSCALL (semctl, 4, semid, semnum, cmd | __IPC_64,
- CHECK_SEMCTL (&arg, semid, cmd | __IPC_64));
+ CHECK_SEMCTL (&arg, semid, cmd | __IPC_64)->array);
#else
switch (cmd) {
case SEM_STAT:
@@ -82,7 +82,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
break;
default:
return INLINE_SYSCALL (semctl, 4, semid, semnum, cmd,
- CHECK_SEMCTL (&arg, semid, cmd));
+ CHECK_SEMCTL (&arg, semid, cmd)->array);
}
{
@@ -93,7 +93,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
/* Unfortunately there is no way how to find out for sure whether
we should use old or new semctl. */
result = INLINE_SYSCALL (semctl, 4, semid, semnum, cmd | __IPC_64,
- CHECK_SEMCTL (&arg, semid, cmd | __IPC_64));
+ CHECK_SEMCTL (&arg, semid, cmd | __IPC_64)->array);
if (result != -1 || errno != EINVAL)
return result;
@@ -113,7 +113,7 @@ __new_semctl (int semid, int semnum, int cmd, ...)
}
}
result = INLINE_SYSCALL (semctl, 4, semid, semnum, cmd,
- CHECK_SEMCTL (&arg, semid, cmd));
+ CHECK_SEMCTL (&arg, semid, cmd)->array);
if (result != -1 && cmd != IPC_SET)
{
memset(buf, 0, sizeof(*buf));