Spawn.vala
[gitlive] / Spawn.vala
index ffc6d59..a17a80d 100644 (file)
@@ -352,8 +352,11 @@ public class Spawn : Object
         
         
         if (this.cfg.exceptions && this.result != 0) {
-           
-            throw new SpawnError.EXECUTE_ERROR(this.stderr);
+                       
+                       var errstr = this.output;
+                       errstr += errstr.length > 0 ? "\n" : "";
+                       errstr += this.stderr;
+            throw new SpawnError.EXECUTE_ERROR(errstr);
             //this.toString = function() { return this.stderr; };
             ///throw new Exception this; // we throw self...
         }
@@ -363,8 +366,6 @@ public class Spawn : Object
         return;
     
     }
-    
-    
 
     private void tidyup()
     {
@@ -429,7 +430,7 @@ public class Spawn : Object
     {
         string prop = (ch == this.out_ch) ? "output" : "stderr";
        // print("prop: " + prop);
-        
+        print ("spawn.read: %s\n", prop);
         
         //print(JSON.stringify(ch, null,4));
         while (true) {
@@ -444,19 +445,20 @@ public class Spawn : Object
             
             try {
                                var cond = ch.get_buffer_condition();
-                               if ((cond & GLib.IOCondition.ERR) > 0) {
-                                       return false;
-                               }
-                               if ((cond & GLib.IOCondition.IN) < 1) {
-                                       return false;
-                               }
+                               //if ((cond & GLib.IOCondition.ERR) > 0) {
+                               //      return false;
+                               //}
+                               //if ((cond & GLib.IOCondition.IN) < 1) {
+                               //      return false;
+                               //}
                 status = ch.read_line( out buffer,  out len,  out term_pos );
             } catch (Error e) {
                 //FIXme
                return false;
                 
             }
-
+            
+                       print("got buffer of %s\n", buffer);
             // print('status: '  +JSON.stringify(status));
             // print(JSON.stringify(x));
              switch(status) {