Semctl with IPC_STAT command should return zero in case of success.

PR:		73778
Submitted by:	Andriy Gapon <avg@icyb.net.ua>
MFC after:	2 weeks
This commit is contained in:
Maxim Sobolev 2005-02-11 13:46:55 +00:00
parent 40fe2aa311
commit 282fae35d6

View File

@ -550,8 +550,9 @@ linux_semctl(struct thread *td, struct linux_semctl_args *args)
error = __semctl(td, &bsd_args);
if (error)
return error;
td->td_retval[0] = IXSEQ_TO_IPCID(bsd_args.semid,
unptr->buf->sem_perm);
td->td_retval[0] = (bsd_args.cmd == SEM_STAT) ?
IXSEQ_TO_IPCID(bsd_args.semid, unptr->buf->sem_perm) :
0;
bsd_to_linux_semid_ds(unptr->buf, &linux_semid);
return (linux_semid_pushdown(args->cmd & LINUX_IPC_64,
&linux_semid, (caddr_t)PTRIN(args->arg.buf)));