Re: [libvirt-glib] Prefer 'for' over 'while'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 26, 2012 at 05:05:15PM +0200, Zeeshan Ali (Khattak) wrote:
> On Thu, Jan 26, 2012 at 11:19 AM, Christophe Fergeau
> <cfergeau@xxxxxxxxxx> wrote:
> > On Thu, Jan 26, 2012 at 08:18:38AM +0100, Philipp Hahn wrote:
> >> Your changed version only has the same behaviour, if the user-passed-in
> >> function iter_func() never changes it->next, which you can't guarentee here.
> >> You need to keep the "next" copy.
> >
> > Yes, the for loop was changed to a while loop recently exactly for that
> > purpose:
> 
> I don't get it, your commit clearly introduced a hang in Boxes and my
> change fixes it back while also simplifying the code slightly. So I
> don't at all buy the 'while' being more 'reliable'.

The callback gets passed 'it', and the callback used in
gvir_config_object_delete_child can unlink/free 'it', so things won't work
as expected if you try to get it->next after calling the callback. Using a
while loop and getting it->next before calling the callback avoids this
problem.

Christophe

Attachment: pgp6BHRcT5woa.pgp
Description: PGP signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]