On Fri, Oct 17, 2008 at 11:51:42AM +0100, Daniel P. Berrange wrote: > More preparation for multi-thread support, this time in the libvirtd > daemon. This removes the embedded linked list of 'struct qemud_client' > and replaces it with an explicit array of pointers of client objects. > This makes per-client locking more practical in a patch to follow. > This touches suprisingly little code :-) +1 I still think a bunch of shared macros to do the array allocations would be nice as we convert the structures, with 2 things in mind: - the memmove on removal scares me, it's rather complex, I would prefer to have it good for once and not look at those anymore - would potentially allow to avoid realloc'ing each time we add or remove, I have no doubt glibc works very well in such case, but other implementations may not be that nice. Like for the memory allocations, we went though a lot of churn, and finally settled for macros simplifying everything in the end. Maybe we can avoid the extra steps this time ;-) Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list