[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1050061 - in /subversion/trunk/subversion: include/svn_io.h libsvn_subr/deprecated.c libsvn_subr/io.c

From: Martin Furter <mf_at_rola.ch>
Date: Tue, 21 Dec 2010 14:33:02 +0100 (CET)

On Sat, 18 Dec 2010, Hyrum K. Wright wrote:

> On Thu, Dec 16, 2010 at 11:18 AM, <cmpilato_at_apache.org> wrote:
>> Author: cmpilato
>> Date: Thu Dec 16 17:18:43 2010
>> New Revision: 1050061
>>
>> URL: http://svn.apache.org/viewvc?rev=1050061&view=rev
>> Log:
>> Rev the svn_io_start_cmd() API, adding pipe support.
>>
>> Modified: subversion/trunk/subversion/include/svn_io.h
>> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_io.h?rev=1050061&r1=1050060&r2=1050061&view=diff
>> ==============================================================================
>> --- subversion/trunk/subversion/include/svn_io.h (original)
>> +++ subversion/trunk/subversion/include/svn_io.h Thu Dec 16 17:18:43 2010
>> @@ -1484,9 +1484,17 @@ svn_io_dir_walk(const char *dirname,
>>
>>  /**
>>  * Start @a cmd with @a args, using utf8-encoded @a path as working
>> - * directory.  Connect @a cmd's stdin, stdout, and stderr to @a infile,
>> - * @a outfile, and @a errfile, except where they are NULL.  Return the
>> - * process handle for the invoked program in @a *cmd_proc.
>> + * directory.  Return the process handle for the invoked program in @a
>> + * *cmd_proc.
>> + *
>> + * If @a infile_pipe is TRUE, connect @a cmd's stdin to a pipe;
>> + * otherwise, connect it to @a infile (which may be NULL).  If
>> + * @a outfile_pipe is TRUE, connect @a cmd's stdout to a pipe; otherwise,
>> + * connect it to @a outfile (which may be NULL).  If @a errfile_pipe
>> + * is TRUE, connect @a cmd's stderr to a pipe; otherwise, connect it
>> + * to @a errfile (which may be NULL).  (Callers must pass FALSE for
>> + * each of these boolean values for which the corresponding file
>> + * handle is non-NULL.)
>
> Innocent bystander question: if the *file_pipe arg is always FALSE
> when the *file arg is non-NULL, is it always TRUE if the *file arg is
> NULL? If so, can we use the NULL as the use-a-pipe sentinel, rather
> than a separate arg?

No, there are 3 valid combinations:
  - pipe=TRUE file=NULL: Create a pipe.
  - pipe=FALSE file!=NULL: Use the file.
  - pipe=FALSE file=NULL: Use stdin/stdout/stderr.

See also:
http://apr.apache.org/docs/apr/1.4/group__apr__thread__proc.html#g2b1598bc6f5ab0bfcf2e55096d563c98

- Martin
Received on 2010-12-21 14:33:55 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.