Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Jun 1999 03:00:02 -0700 (PDT)
From:      Brian Somers <brian@Awfulhak.org>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/11988: recvmsg with a cmsghdr but no iovec is broken 
Message-ID:  <199906021000.DAA66509@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/11988; it has been noted by GNATS.

From: Brian Somers <brian@Awfulhak.org>
To: Tony Finch <dot@dotat.at>
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: Re: kern/11988: recvmsg with a cmsghdr but no iovec is broken 
Date: Wed, 02 Jun 1999 10:58:41 +0100

 > 
 > >Number:         11988
 > >Category:       kern
 > >Synopsis:       recvmsg with a cmsghdr but no iovec is broken
 [.....]
 
 This has been the case for some time - since before I implemented 
 multi-link ppp.  When I was writing it, I attempted to do exactly 
 what you're doing and then to write() all my link configuration data. 
 Things failed badly so I ended up merging everything into a single 
 sendmsg()/recvmsg().
 
 I'm afraid I have nothing fantastic to say (except to confirm that 
 the problem exists, and has done for some time).
 
 One other observation (a problem I suffered with for some time); you 
 *must* have some sort of handshake to confirm that the descriptor has 
 been received.  If you call close(conn) while the descriptor is still 
 in limbo (an mbuf) the descriptor will arrive at the other end ready 
 to give you EBADF next time you use it.
 
 A simple read(child, &ch, 1) after sendmsg() and before the close(conn) 
 and a write(3, "X", 1) after the recvmsg() will do the trick.
 -- 
 Brian <brian@Awfulhak.org>                        <brian@FreeBSD.org>
       <http://www.Awfulhak.org>;                   <brian@OpenBSD.org>
 Don't _EVER_ lose your sense of humour !          <brian@uk.FreeBSD.org>
 
 
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906021000.DAA66509>