From owner-svn-src-head@freebsd.org Thu Jul 28 12:22:02 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E0137BA518A; Thu, 28 Jul 2016 12:22:02 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9268B14A1; Thu, 28 Jul 2016 12:22:02 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u6SCM1h2040988; Thu, 28 Jul 2016 12:22:01 GMT (envelope-from ed@FreeBSD.org) Received: (from ed@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u6SCM1lI040985; Thu, 28 Jul 2016 12:22:01 GMT (envelope-from ed@FreeBSD.org) Message-Id: <201607281222.u6SCM1lI040985@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ed set sender to ed@FreeBSD.org using -f From: Ed Schouten Date: Thu, 28 Jul 2016 12:22:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r303435 - in head: lib/libc/sys sys/kern sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Jul 2016 12:22:03 -0000 Author: ed Date: Thu Jul 28 12:22:01 2016 New Revision: 303435 URL: https://svnweb.freebsd.org/changeset/base/303435 Log: Change the return type of msgrcv() to ssize_t as required by POSIX. It looks like the msgrcv() system call is already written in such a way that the size is internally computed as a size_t and written into all of td_retval[0]. This means that it is effectively already returning ssize_t. It's just that the userspace prototype doesn't match up. Modified: head/lib/libc/sys/msgrcv.2 head/sys/kern/syscalls.master head/sys/sys/msg.h Modified: head/lib/libc/sys/msgrcv.2 ============================================================================== --- head/lib/libc/sys/msgrcv.2 Thu Jul 28 12:06:40 2016 (r303434) +++ head/lib/libc/sys/msgrcv.2 Thu Jul 28 12:22:01 2016 (r303435) @@ -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 Modified: head/sys/kern/syscalls.master ============================================================================== --- head/sys/kern/syscalls.master Thu Jul 28 12:06:40 2016 (r303434) +++ head/sys/kern/syscalls.master Thu Jul 28 12:22:01 2016 (r303435) @@ -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); } Modified: head/sys/sys/msg.h ============================================================================== --- head/sys/sys/msg.h Thu Jul 28 12:06:40 2016 (r303434) +++ head/sys/sys/msg.h Thu Jul 28 12:22:01 2016 (r303435) @@ -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, ...);