Spawn.vala
[gitlive] / Spawn.vala
index 92c2684..c99f962 100644 (file)
@@ -356,11 +356,13 @@ public class Spawn : Object
                        var errstr = this.output;
                        errstr += errstr.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;
@@ -430,7 +432,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) {
@@ -445,19 +447,22 @@ 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;
                 
             }
-
+            if (buffer == null) {
+                       return false;
+               }
+            print("got buffer of %s\n", buffer);
             // print('status: '  +JSON.stringify(status));
             // print(JSON.stringify(x));
              switch(status) {
@@ -485,7 +490,6 @@ public class Spawn : Object
                         if ( Gtk.events_pending()) {
                              Gtk.main_iteration();
                         }
-                         
                     }
                     
                     //this.ctx.iteration(true);