Does FreeBSD have sendmmsg or recvmmsg system calls?
Gary Jennejohn
gljennjohn at gmail.com
Sun Jan 24 09:07:52 UTC 2016
On Sun, 24 Jan 2016 07:06:34 +0200
Konstantin Belousov <kostikbel at gmail.com> wrote:
[delete irrelevant parts of the patch]
> > + rcvd = 1;
> > + for (i = rcvd; i < vlen; i++) {
> i = rcvd = 1; ... i++, rcvd++ ?
>
> > + ret = __sys_recvmsg(s, &msgvec[i].msg_hdr, flags);
> > + if (ret == -1) {
> > + if (rcvd != 0) {
> > + /* We've received messages. Let caller know. */
> > + return (rcvd);
> > + }
> > + return (ret);
> > + }
> > +
This seems wrong. rcvd is initialized to 1 so that the check for
rcvd != 0 can never be false. We already successfully called
__sys_recvmsg() just above the loop, so why not simplify the
code by doing
if (ret == -1)
return (rcvd);
--
Gary Jennejohn (gj@)
More information about the freebsd-net
mailing list