From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MOZd8-00062e-J7 for qemu-devel@nongnu.org; Wed, 08 Jul 2009 12:04:22 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MOZd4-0005z8-MK for qemu-devel@nongnu.org; Wed, 08 Jul 2009 12:04:22 -0400 Received: from [199.232.76.173] (port=59866 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MOZd4-0005yw-HM for qemu-devel@nongnu.org; Wed, 08 Jul 2009 12:04:18 -0400 Received: from mx2.redhat.com ([66.187.237.31]:43529) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MOZd1-00054Z-RC for qemu-devel@nongnu.org; Wed, 08 Jul 2009 12:04:16 -0400 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n68G4Fwc022576 for ; Wed, 8 Jul 2009 12:04:15 -0400 Subject: Re: [Qemu-devel] [PATCH 3/5] Add getfd and closefd monitor commands From: Mark McLoughlin In-Reply-To: <4A54BABD.3040903@redhat.com> References: <1247064963.3270.63.camel@blaa> <1247065048-15706-1-git-send-email-markmc@redhat.com> <1247065048-15706-2-git-send-email-markmc@redhat.com> <1247065048-15706-3-git-send-email-markmc@redhat.com> <4A54BABD.3040903@redhat.com> Content-Type: text/plain Date: Wed, 08 Jul 2009 17:03:55 +0100 Message-Id: <1247069035.3270.82.camel@blaa> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Reply-To: Mark McLoughlin List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: qemu-devel@nongnu.org On Wed, 2009-07-08 at 18:26 +0300, Avi Kivity wrote: > On 07/08/2009 05:57 PM, Mark McLoughlin wrote: > > Add monitor commands to support passing file descriptors via > > SCM_RIGHTS. > > > > getfd assigns the passed file descriptor a name for use with other > > monitor commands. > > > > closefd allows passed file descriptors to be closed. If a monitor > > command actually uses a named file descriptor, closefd will not be > > required. > > > > > > > > > @@ -70,6 +70,14 @@ typedef struct mon_cmd_t { > > const char *help; > > } mon_cmd_t; > > > > +/* file descriptors passed via SCM_RIGHTS */ > > +typedef struct mon_fd_t mon_fd_t; > > +struct mon_fd_t { > > + char *name; > > + int fd; > > + LIST_ENTRY(mon_fd_t) next; > > +}; > > + > > > > The _t namespace is reserved by posix and not used for structures in > qemu anyway. I see there's precedent a few lines above but let's not > introduce new violations. Bah, where there's a number of different styles used in a code base, and where there's no guidelines in CODING_STYLE, I tend to stick with the style of the code I'm editing. And, in this case, the closest structure definition used this style. > > + > > + fd = dup(fd); > > > > Why? Because it gets closed again after the chr_read() handler finishes. I guess we could make qemu_chr_get_msgfd() pass ownership of the fd to the caller. Cheers, Mark.