• E
    command: add virCommandAbort for cleanup paths · 9ed54518
    Eric Blake 提交于
    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.
    9ed54518
command.c 34.0 KB