Spawn.vala
[gitlive] / Spawn.vala
index d9f1697..bad107d 100644 (file)
@@ -93,6 +93,10 @@ public class  SpawnConfig {
         input = null;
         
     }
+    
+    public void onFinish( SpawnFinish? finish ) {
+               this.finish = finish;
+    }
 
  
     public void setHandlers(
@@ -352,17 +356,16 @@ public class Spawn : Object
         
         
         if (this.cfg.exceptions && this.result != 0) {
-                       
-                       var errstr = this.output;
-                       errstr += errstr.length > 0 ? "\n" : "";
+                       var errstr = string.joinv(" ", this.cfg.args) + "\n";
+                       errstr += this.output;
+                       errstr += this.output.length > 0 ? "\n" : "";
                        errstr += this.stderr;
+                       //print("Throwing execute error:%s\n", errstr);
             throw new SpawnError.EXECUTE_ERROR(errstr);
             //this.toString = function() { return this.stderr; };
             ///throw new Exception this; // we throw self...
         }
-        
         // finally throw, or return self..
-        
         return;
     
     }
@@ -457,8 +460,10 @@ public class Spawn : Object
                return false;
                 
             }
-            
-            print("got buffer of %s\n", buffer);
+            if (buffer == null) {
+                       return false;
+               }
+            //print("got buffer of %s\n", buffer);
             // print('status: '  +JSON.stringify(status));
             // print(JSON.stringify(x));
              switch(status) {
@@ -479,7 +484,7 @@ public class Spawn : Object
                     }
                     //_this[prop] += x.str_return;
                     //if (this.cfg.debug) {
-                        stdout.printf("%s : %s", prop , buffer);
+                       // stdout.printf("%s : %s", prop , buffer);
                     //}
                     if (this.cfg.async) {