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(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/