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