Switch to side-by-side view

--- a/src/utils/execmd.h
+++ b/src/utils/execmd.h
@@ -157,17 +157,26 @@
 
     /** 
      * Cancel/kill command. This can be called from another thread or
-     * from the advise callback, which could also raise an exception to 
-     * accomplish the same thing
+     * from the advise callback, which could also raise an exception
+     * to accomplish the same thing. In the owner thread, any I/O loop
+     * will exit at the next iteration, and the process will be waited for.
      */
     void setKill();
 
     /**
-     * Get rid of current process (become ready for start). 
+     * Get rid of current process (become ready for start). This will signal
+     * politely the process to stop, wait a moment, then terminate it. This
+     * is a blocking call.
      */
     void zapChild();
 
-    ExecCmd();
+    /**
+     * Request process termination (SIGTERM or equivalent). This returns 
+     * immediately
+     */
+    bool requestChildExit();
+
+     ExecCmd();
     ~ExecCmd();
 
     /**