Example #1
0
        public void Spawn()
        {
            var options = new uv_process_options_t();

            options.exit_cb = static_exit;
            options.file    = this.File;
            var args = new IntPtr[Arguments.Count + 3];

            args[0] = Marshal.StringToHGlobalAuto(this.CurrentWorkingDirectory);
            args[1] = Marshal.StringToHGlobalAuto(this.File);
            args[args.Length - 1] = IntPtr.Zero;
            for (int i = 0; i < Arguments.Count; i++)
            {
                args[i + 2] = Marshal.StringToHGlobalAuto(Arguments[i]);
            }
            options.args = args;
            var env = new IntPtr[Environment.Count + 1];

            env[Environment.Count - 1] = IntPtr.Zero;
            for (int i = 0; i < Environment.Count; i++)
            {
                env[i] = Marshal.StringToHGlobalAuto(Environment[i]);
            }
            options.env           = env;
            options.stdout_stream = _stdout;
            options.stderr_stream = _stderr;
            Util.CheckError(uv_spawn(_handle, options));
            StdOut.ReadStart();
            StdErr.ReadStart();
        }
Example #2
0
 internal static extern int uv_spawn(IntPtr loop, IntPtr process, uv_process_options_t options);
Example #3
0
 internal static extern int uv_spawn(IntPtr loop, IntPtr process, uv_process_options_t options);         // uv_loop_t*, uv_process_t*
Example #4
0
 public static extern int uv_spawn(IntPtr process, uv_process_options_t options);
Example #5
0
 public void Spawn()
 {
     var options = new uv_process_options_t();
     options.exit_cb = static_exit;
     options.file = this.File;
     var args = new IntPtr[Arguments.Count + 3];
     args[0] = Marshal.StringToHGlobalAuto(this.CurrentWorkingDirectory);
     args[1] = Marshal.StringToHGlobalAuto(this.File);
     args[args.Length - 1] = IntPtr.Zero;
     for (int i = 0; i < Arguments.Count; i++)
     {
         args[i + 2] = Marshal.StringToHGlobalAuto(Arguments[i]);
     }
     options.args = args;
     var env = new IntPtr[Environment.Count + 1];
     env[Environment.Count - 1] = IntPtr.Zero;
     for (int i = 0; i < Environment.Count; i++)
     {
         env[i] = Marshal.StringToHGlobalAuto(Environment[i]);
     }
     options.env = env;
     options.stdout_stream = _stdout;
     options.stderr_stream = _stderr;
     Util.CheckError(uv_spawn(_handle, options));
     StdOut.ReadStart();
     StdErr.ReadStart();
 }
Example #6
0
 public static extern int uv_spawn(IntPtr process, uv_process_options_t options);