summaryrefslogtreecommitdiff
path: root/libc/misc/sysvipc/shm.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-06-29 22:17:49 +0000
committerMike Frysinger <vapier@gentoo.org>2005-06-29 22:17:49 +0000
commitba4c380d515156b93471ca25df70e23c3d363806 (patch)
treec78d1642ea9ce346485410c9c16bd643945a6039 /libc/misc/sysvipc/shm.c
parent7d0af1f89e4f9027dcabcfaf950416783eb22f95 (diff)
previous commit of trimming __IPC_64 wasnt quite correct ... rework __IPC_64 so that it will compile and it is correct
Diffstat (limited to 'libc/misc/sysvipc/shm.c')
-rw-r--r--libc/misc/sysvipc/shm.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/libc/misc/sysvipc/shm.c b/libc/misc/sysvipc/shm.c
index d3ef42802..29f3178d6 100644
--- a/libc/misc/sysvipc/shm.c
+++ b/libc/misc/sysvipc/shm.c
@@ -48,13 +48,17 @@ void * shmat (int shmid, const void *shmaddr, int shmflg)
#ifdef L_shmctl
/* Provide operations to control over shared memory segments. */
#ifdef __NR_shmctl
-_syscall3(int, shmctl, int, shmid, int, cmd, struct shmid_ds *, buf);
-#else
-int shmctl (int shmid, int cmd, struct shmid_ds *buf)
+#define __NR___libc_shmctl __NR_shmctl
+_syscall3(int, __libc_shmctl, int, shmid, int, cmd, struct shmid_ds *, buf);
+#endif
+int shmctl(int shmid, int cmd, struct shmid_ds *buf)
{
- return __syscall_ipc(IPCOP_shmctl, shmid, cmd | __IPC_64 , 0, buf);
-}
+#ifdef __NR_shmctl
+ return __libc_shmctl(shmid, cmd | __IPC_64, buf);
+#else
+ return __syscall_ipc(IPCOP_shmctl, shmid, cmd | __IPC_64, 0, buf);
#endif
+}
#endif