From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55230) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TG5Qy-00025L-KT for qemu-devel@nongnu.org; Mon, 24 Sep 2012 05:58:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TG5Qt-0008R3-Ma for qemu-devel@nongnu.org; Mon, 24 Sep 2012 05:58:36 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42693) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TG5Qt-0008Qs-EK for qemu-devel@nongnu.org; Mon, 24 Sep 2012 05:58:31 -0400 Message-ID: <50602EC8.5080609@redhat.com> Date: Mon, 24 Sep 2012 11:58:32 +0200 From: Orit Wasserman MIME-Version: 1.0 References: <1348411747-29804-1-git-send-email-owasserm@redhat.com> <1348411747-29804-5-git-send-email-owasserm@redhat.com> <87d31bsqj4.fsf@blackfin.pond.sub.org> In-Reply-To: <87d31bsqj4.fsf@blackfin.pond.sub.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4 4/4] Clear handler only for valid fd List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: kwolf@redhat.com, aliguori@us.ibm.com, akong@redhat.com, mst@redhat.com, quintela@redhat.com, mdroth@linux.vnet.ibm.com, qemu-devel@nongnu.org, pbonzini@redhat.com, lcapitulino@redhat.com On 09/24/2012 11:45 AM, Markus Armbruster wrote: > Orit Wasserman writes: > >> Signed-off-by: Orit Wasserman >> --- >> migration.c | 3 +-- >> 1 files changed, 1 insertions(+), 2 deletions(-) >> >> diff --git a/migration.c b/migration.c >> index 1edeec5..c20a2fe 100644 >> --- a/migration.c >> +++ b/migration.c >> @@ -240,8 +240,6 @@ static int migrate_fd_cleanup(MigrationState *s) >> { >> int ret = 0; >> >> - qemu_set_fd_handler2(s->fd, NULL, NULL, NULL, NULL); >> - >> if (s->file) { >> DPRINTF("closing file\n"); >> ret = qemu_fclose(s->file); >> @@ -249,6 +247,7 @@ static int migrate_fd_cleanup(MigrationState *s) >> } >> >> if (s->fd != -1) { >> + qemu_set_fd_handler2(s->fd, NULL, NULL, NULL, NULL); >> close(s->fd); >> s->fd = -1; >> } > > As far as I can see, qemu_set_fd_handler2() treats invalid file > descriptor -1 just like any other. If it's in io_handlers, it gets > deleted, else it's a nop. Thus, the old code works. Not any more, there was an assert(fd >=0) added in commit bbdd2ad0814ea0911076419ea21b7957505cf1cc recently. But I agree > passing invalid file descriptors is abusing the interface. > > I'm not sufficiently familiar with the migration code to judge whether > moving the handler reset down is safe. > I can keep the call in the same location if you think it is safer. Orit