>>>>> 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