mirror of
https://github.com/fluencelabs/musl
synced 2025-07-02 16:12:02 +00:00
fix broken semctl on systems that don't use IPC_64 flag
not tested on mips and arm; they may still be broken. x86_64 should be ok now.
This commit is contained in:
@ -3,6 +3,10 @@
|
||||
#include "syscall.h"
|
||||
#include "ipc.h"
|
||||
|
||||
#ifndef IPC_64
|
||||
#define IPC_64 0
|
||||
#endif
|
||||
|
||||
int semctl(int id, int num, int cmd, ...)
|
||||
{
|
||||
long arg;
|
||||
@ -11,8 +15,8 @@ int semctl(int id, int num, int cmd, ...)
|
||||
arg = va_arg(ap, long);
|
||||
va_end(ap);
|
||||
#ifdef SYS_semctl
|
||||
return syscall(SYS_semctl, id, num, cmd | 0x100, arg);
|
||||
return syscall(SYS_semctl, id, num, cmd | IPC_64, arg);
|
||||
#else
|
||||
return syscall(SYS_ipc, IPCOP_semctl, id, num, cmd | 0x100, &arg);
|
||||
return syscall(SYS_ipc, IPCOP_semctl, id, num, cmd | IPC_64, &arg);
|
||||
#endif
|
||||
}
|
||||
|
Reference in New Issue
Block a user