• D
    Allow handshake with child process during startup · 285c2fdf
    Daniel P. Berrange 提交于
    Allow the parent process to perform a bi-directional handshake
    with the child process during fork/exec. The child process
    will fork and do its initial setup. Immediately prior to the
    exec(), it will stop & wait for a handshake from the parent
    process. The parent process will spawn the child and wait
    until the child reaches the handshake point. It will do
    whatever extra setup work is required, before signalling the
    child to continue.
    
    The implementation of this is done using two pairs of blocking
    pipes. The first pair is used to block the parent, until the
    child writes a single byte. Then the second pair pair is used
    to block the child, until the parent confirms with another
    single byte.
    
    * src/util/command.c, src/util/command.h,
      src/libvirt_private.syms: Add APIs to perform a handshake
    285c2fdf
command.c 41.3 KB