From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53066) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZyH51-0003sN-56 for qemu-devel@nongnu.org; Mon, 16 Nov 2015 05:32:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZyH4w-0003NU-4w for qemu-devel@nongnu.org; Mon, 16 Nov 2015 05:32:11 -0500 Received: from mailout3.w1.samsung.com ([210.118.77.13]:16963) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZyH4v-0003NG-V9 for qemu-devel@nongnu.org; Mon, 16 Nov 2015 05:32:06 -0500 Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout3.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NXW00456L9ECC20@mailout3.w1.samsung.com> for qemu-devel@nongnu.org; Mon, 16 Nov 2015 10:32:02 +0000 (GMT) From: Pavel Fedin References: <1444739866-14798-1-git-send-email-berrange@redhat.com> <1444739866-14798-7-git-send-email-berrange@redhat.com> <5646286B.2030307@suse.de> <56464F8A.3070709@de.ibm.com> <56465533.3030501@suse.de> <008001d1203e$51838510$f48a8f30$@samsung.com> <564990C9.1060801@de.ibm.com> <5649A418.2030107@suse.de> In-reply-to: <5649A418.2030107@suse.de> Date: Mon, 16 Nov 2015 13:31:59 +0300 Message-id: <00a501d1205a$07a22f70$16e68e50$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7bit Content-language: ru Subject: Re: [Qemu-devel] [PATCH v4 6/7] qom: replace object property list with GHashTable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?ISO-8859-1?Q?'Andreas_F=E4rber'?= , 'Christian Borntraeger' Cc: 'Peter Maydell' , qemu-devel@nongnu.org, 'Markus Armbruster' , 'David Hildenbrand' , 'Cornelia Huck' , 'Paolo Bonzini' Hello! > My idea, which I wanted to investigate after the weekend, is iterating > through the hashtable to create a list of prop->release functions and > call them only after finishing the iteration. That might not work > either, so we may need to loop over the releasing to allow for released > properties to disappear after prop->release(). Hm... May be instead of actually deleting a property, while we are iterating, we should mark it as pending for deletion, and then, after iteration is done, actually remove them? This would cost one 'bool delete_pending' per property. Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia