>>>>> Glynn Clements <[EMAIL PROTECTED]> writes:

[...]

 >> So far as a Windows implementation of G_spawn_ex() is concerned, a
 >> partial implementation using spawnvp() or spawnvpe() should be
 >> relatively straightforward, and better than nothing.

 > I have also committed a minimal Windows implementation of
 > G_[v]spawn_ex(), as outlined below. It hasn't been tested yet,
 > though.

        JFYI: Gnulib contains execute (), which is meant to spawn
        processes on the POSIX and W32 systems in a portable manner:

$ nl -ba gnulib/lib/execute.h 
...
    23  /* Execute a command, optionally redirecting any of the three standard 
file
    24     descriptors to /dev/null.  Return its exit code.
    25     If it didn't terminate correctly, exit if exit_on_error is true, 
otherwise
    26     return 127.
    27     If ignore_sigpipe is true, consider a subprocess termination due to 
SIGPIPE
    28     as equivalent to a success.  This is suitable for processes whose 
only
    29     purpose is to write to standard output.
    30     If slave_process is true, the child process will be terminated when 
its
    31     creator receives a catchable fatal signal.
    32     It is recommended that no signal is blocked or ignored while 
execute()
    33     is called.  See pipe.h for the reason.  */
    34  extern int execute (const char *progname,
    35                      const char *prog_path, char **prog_argv,
    36                      bool ignore_sigpipe,
    37                      bool null_stdin, bool null_stdout, bool null_stderr,
    38                      bool slave_process, bool exit_on_error);
...
$ 

        Apparently, the only problem preventing the use of Gnulib in
        GRASS is that it may require a newer Autoconf.  (I'm still
        planning to get my hands on both of these problems.)

[...]

_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to