diff --git a/lib/libc/sys/msgrcv.2 b/lib/libc/sys/msgrcv.2 index 917a95362153..59eeec42f2d5 100644 --- a/lib/libc/sys/msgrcv.2 +++ b/lib/libc/sys/msgrcv.2 @@ -31,7 +31,7 @@ .\" $FreeBSD$ .\" .\"/ -.Dd July 9, 2009 +.Dd July 28, 2016 .Dt MSGRCV 2 .Os .Sh NAME @@ -43,7 +43,7 @@ .In sys/types.h .In sys/ipc.h .In sys/msg.h -.Ft int +.Ft ssize_t .Fn msgrcv "int msqid" "void *msgp" "size_t msgsz" "long msgtyp" "int msgflg" .Sh DESCRIPTION The diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index c9df7788e439..0c462feae623 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -428,7 +428,7 @@ 225 AUE_MSGGET NOSTD { int msgget(key_t key, int msgflg); } 226 AUE_MSGSND NOSTD { int msgsnd(int msqid, const void *msgp, \ size_t msgsz, int msgflg); } -227 AUE_MSGRCV NOSTD { int msgrcv(int msqid, void *msgp, \ +227 AUE_MSGRCV NOSTD { ssize_t msgrcv(int msqid, void *msgp, \ size_t msgsz, long msgtyp, int msgflg); } 228 AUE_SHMAT NOSTD { int shmat(int shmid, const void *shmaddr, \ int shmflg); } diff --git a/sys/sys/msg.h b/sys/sys/msg.h index 8f56c9482257..c2bb2d254408 100644 --- a/sys/sys/msg.h +++ b/sys/sys/msg.h @@ -169,8 +169,7 @@ struct msqid_kernel { __BEGIN_DECLS int msgctl(int, int, struct msqid_ds *); int msgget(key_t, int); -/* XXX return value should be ssize_t. */ -int msgrcv(int, void *, size_t, long, int); +ssize_t msgrcv(int, void *, size_t, long, int); int msgsnd(int, const void *, size_t, int); #if __BSD_VISIBLE int msgsys(int, ...);