In preparing for making iohelper useful with O_DIRECT fds, I noticed a resource leak on failure in fdstreams. Further investigation found that most clients of virCommandRunAsync passed a NULL pointer, and the only one that didn't was risking closing an unrelated process under a pid reuse scenario. Eric Blake (3): command: introduce virPidWait, virPidAbort fdstream: avoid child process leak on error virnetsocket: use new API for uniform child cleanup docs/internals/command.html.in | 17 +++++ src/fdstream.c | 8 +-- src/libvirt_private.syms | 2 + src/rpc/virnetsocket.c | 13 +---- src/util/command.c | 140 ++++++++++++++++++++++++++++------------ src/util/command.h | 28 ++++++++ 6 files changed, 148 insertions(+), 60 deletions(-) -- 1.7.4.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list