Hi.
I noticed that the description of 'in' and 'out' pipes for
apr_file_pipe_create() is wrong.
I check the manual for creating / using pipes. The pipe_create cutout:
----
apr_status_t apr_file_pipe_create(
apr_file_t ** in,
apr_file_t ** out,
apr_pool_t * cont
)
Create an anonymous pipe.
Parameters:
in The file descriptor to use as input to the pipe.
out The file descriptor to use as output from the pipe.
cont The pool to operate on.
----
Then I made a simple program:
----
...
#define IN
#define OUT
...
int main(void) {
apr_file_t *pipe[2];
char buf[]="0123456789";
int len=10;
...
rv = apr_file_pipe_create(
&pipe[IN],
&pipe[OUT],
pool);
...
rv = apr_file_write(pipe[IN], buf, &len);
// This produce an error
...
}
----
So I try to use the other part of the pipe in apr_file_write (pipe[OUT])
and now the program works fine.
Am I doing something wrong or is realy a 'bug' in the manual?
Regards,
Dezo