2010/11/30 Eric Blake <[email protected]>: > * daemon/libvirtd.c (qemudRunLoop): Free any remaining client data. > --- > > Since qemudCleanup calls VIR_FREE(server), it only makes sense to > first free all of server's contents. > > Probably not the most important leak to plug (it only triggers at > libvirtd exit, where the memory would be abandoned by process exit > anyways, and does not affect clients that link against libvirt as > a library), but plugging it makes leak analysis of the rest of > libvirtd easier. > > daemon/libvirtd.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c > index caf51bf..791b3dc 100644 > --- a/daemon/libvirtd.c > +++ b/daemon/libvirtd.c > @@ -2403,6 +2403,10 @@ cleanup: > server->workers[i].hasThread = 0; > } > VIR_FREE(server->workers); > + for (i = 0; i < server->nclients; i++) > + qemudFreeClient(server->clients[i]); > + server->nclients = 0; > + VIR_SHRINK_N(server->clients, server->nclients_max, > server->nclients_max); > > virMutexUnlock(&server->lock); > return NULL; > -- > 1.7.3.2 >
ACK. Matthias -- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
