Hi to all.
I am trying to look for some program's output while it is running.
This is my program:

using Gtk;
>
> public class Main
> {
> /*
>     public void SpawnCommand (string[] cmd) {
>      debug ("Running %s", cmd[0]);
>         try {
>             Process.spawn_async_with_pipes (null, cmd, null,
> SpawnFlags.SEARCH_PATH | SpawnFlags.DO_NOT_REAP_CHILD, null, out child_pid,
> null, null, null);
>             //ChildWatch.add (child_pid, this.child_ended);
>         } catch (SpawnError e) {
>             error ("Unable to spawn!");
>         }
>         child_pid_t = (Posix.pid_t) child_pid;
>     }
> */
>
>   public static int main (string[] args)
>   {
>     Gtk.init (ref args);
>     try {
>         var builder = new Builder ();
>         builder.add_from_file ("Repositor.ui");
>         builder.connect_signals (null);
>         var window = builder.get_object ("win_main") as Window;
>         window.show_all ();
>         window.destroy += Gtk.main_quit;
>         Gtk.main ();
>     } catch (Error e) {
>         stderr.printf ("Could not load UI: %s\n", e.message);
>         return 1;
>     }
>
>     return 0;
>   }
>
>   public static void execProgram()
>   {
>          string command_line="/home/arkadi";
>          string[] argv = new string[1];
>             argv[0] = "/home/arkadi/tt";
>             //argv[1] = null;
>
>             Pid child_pid;
>             int input_fd;
>             int output_fd;
>             int error_fd;
>             try {
>             Process.spawn_async_with_pipes(
>                 command_line,
>                 argv, //argv
>                 null,   // environment
>                 SpawnFlags.SEARCH_PATH,
>                 null,   // child_setup
>                 out child_pid,
>                 out input_fd,
>                 out output_fd,
>                 out error_fd);
>            }
>            catch (Error e) {
>          stderr.printf ("Could not load UI: %s\n", e.message);
>          }
>          var iochan = new IOChannel.unix_new(output_fd);
>          iochan.add_watch(IOCondition.IN, read_from_channel);
>   }
>
>  public bool read_from_channel(IOChannel source, IOCondition cond) {
>   string str;
>   size_t c;
>        source.read_to_end(out str, out c);
>        stdout.printf("%s", str);
>        return true;
>  }
> }


It doesn't compile and I don't know why... please help...
_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to