2011/7/12 Eric Blake <eblake(a)redhat.com>:
By requesting the pid in virCommandRunAsync, fdstream was claiming
that it would manually wait for the process. But on the failure
path, the child process was being leaked.
This difference in behavior between virCommandRunAsync(..., NULL) and
virCommandRunAsync(..., &pid) is not documented on virCommandRunAsync
itself but only on virCommandFree. Also virCommandFree refers to
waitpid instead of you're newly added virPidWait. Finally I noticed
that the comments in command.h and command.c are out of sync (at least
for virCommandFree). Why are you documenting in two places making it
prone to get out of sync?
ACK, to this patch.
--
Matthias Bolte
http://photron.blogspot.com