[libvirt] [PATCHv2 3/3] command: add virCommandAbort for cleanup paths

Daniel Veillard veillard at redhat.com
Fri Mar 25 03:16:14 UTC 2011


On Wed, Mar 23, 2011 at 05:48:13PM -0600, Eric Blake wrote:
> Sometimes, an asynchronous helper is started (such as a compressor
> or iohelper program), but a later error means that we want to
> abort that child.  Make this easier.
> 
> Note that since daemons and virCommandRunAsync can't mix, the only
> time virCommandFree can reap a process is if someone did
> virCommandRunAsync for a non-daemon and didn't stash the pid.
> 
> * src/util/command.h (virCommandAbort): New prototype.
> * src/util/command.c (_virCommand): Add new field.
> (virCommandRunAsync, virCommandWait): Track whether pid was used.
> (virCommandFree): Reap child if caller did not request pid.
> (virCommandAbort): New function.
> * src/libvirt_private.syms (command.h): Export it.
> * tests/commandtest.c (test19): New test.
> ---
> 
> v2: no change, but by adding patch 2, it should make it clear
> that this patch is doing the right thing about not reaping
> a long-running daemon.
> 
>  src/libvirt_private.syms |    1 +
>  src/util/command.c       |   66 ++++++++++++++++++++++++++++++++++++++++++++++
>  src/util/command.h       |   12 +++++++-
>  tests/commandtest.c      |   37 +++++++++++++++++++++++++
>  4 files changed, 115 insertions(+), 1 deletions(-)

  ACK, including the followup patch to tests/commandtest.c,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list