diff options
| author | Marcel Moolenaar <marcel@FreeBSD.org> | 1999-09-23 09:57:45 +0000 |
|---|---|---|
| committer | Marcel Moolenaar <marcel@FreeBSD.org> | 1999-09-23 09:57:45 +0000 |
| commit | 1beb0dc732e6e3d74bdcf01a7c8fc84b0fe3af2b (patch) | |
| tree | 8f2dc604f78351184501dccbdb4ff2d3692a132e | |
| parent | 1464240ec4a8c6541ca40cf4063ae5162387efdd (diff) | |
Notes
| -rw-r--r-- | sys/compat/linux/linux_ipc.c | 4 | ||||
| -rw-r--r-- | sys/i386/linux/linux_ipc.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/compat/linux/linux_ipc.c b/sys/compat/linux/linux_ipc.c index 5efee536adb3..0428702d045e 100644 --- a/sys/compat/linux/linux_ipc.c +++ b/sys/compat/linux/linux_ipc.c @@ -334,11 +334,13 @@ linux_msgctl(struct proc *p, struct linux_ipc_args *args) int cmd; struct msqid_ds *buf; } */ bsd_args; + int error; bsd_args.msqid = args->arg1; bsd_args.cmd = args->arg2; bsd_args.buf = (struct msqid_ds *)args->ptr; - return msgctl(p, &bsd_args); + error = msgctl(p, &bsd_args); + return ((args->arg2 == LINUX_IPC_RMID && error == EINVAL) ? 0 : error); } static int diff --git a/sys/i386/linux/linux_ipc.c b/sys/i386/linux/linux_ipc.c index 5efee536adb3..0428702d045e 100644 --- a/sys/i386/linux/linux_ipc.c +++ b/sys/i386/linux/linux_ipc.c @@ -334,11 +334,13 @@ linux_msgctl(struct proc *p, struct linux_ipc_args *args) int cmd; struct msqid_ds *buf; } */ bsd_args; + int error; bsd_args.msqid = args->arg1; bsd_args.cmd = args->arg2; bsd_args.buf = (struct msqid_ds *)args->ptr; - return msgctl(p, &bsd_args); + error = msgctl(p, &bsd_args); + return ((args->arg2 == LINUX_IPC_RMID && error == EINVAL) ? 0 : error); } static int |
