summaryrefslogtreecommitdiff
path: root/src/ipc/semop.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipc/semop.c')
-rw-r--r--src/ipc/semop.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/ipc/semop.c b/src/ipc/semop.c
new file mode 100644
index 00000000..48d8a654
--- /dev/null
+++ b/src/ipc/semop.c
@@ -0,0 +1,12 @@
+#include <sys/sem.h>
+#include "syscall.h"
+#include "ipc.h"
+
+int semop(int id, struct sembuf *buf, size_t n)
+{
+#ifdef __NR_semop
+ return syscall3(__NR_semop, id, (long)buf, n);
+#else
+ return syscall5(__NR_ipc, IPCOP_semop, id, n, 0, (long)buf);
+#endif
+}