21#include "apr_arch_file_io.h"
24#include "apr_arch_inherit.h"
76 if (
thepipe->blocking != BLK_OFF) {
81 if (
thepipe->blocking != BLK_ON) {
107 (*file)->pool =
pool;
108 (*file)->eof_hit = 0;
109 (*file)->is_pipe = 1;
110 (*file)->blocking = BLK_UNKNOWN;
111 (*file)->timeout = -1;
112 (*file)->ungetchar = -1;
113 (*file)->filedes = *
dafile;
117 (*file)->buffered = 0;
119 (*file)->thlock =
NULL;
159 (*out)->buffered = 0;
161 (*out)->blocking = BLK_ON;
163 (*out)->timeout = -1;
164 (*in)->ungetchar = -1;
166 (*out)->thlock =
NULL;
APR Portability Routines.
const char apr_ssize_t int flags
const void apr_status_t(*) apr_status_t(* APR_DECLARE)(void) apr_pool_pre_cleanup_register(apr_pool_t *p
const char int apr_pool_t * pool
apr_int32_t apr_fileperms_t
apr_file_t apr_int32_t apr_pool_t apr_pool_t * pool_out
const char apr_file_t * file
apr_file_t apr_int32_t blocking
const char apr_int32_t apr_fileperms_t perm
apr_file_t apr_int32_t apr_pool_t * pool_in
#define APR_FOPEN_NOCLEANUP
#define apr_pcalloc(p, size)
apr_os_file_t int register_cleanup
apr_size_t const char * filename
apr_int64_t apr_interval_time_t
static apr_status_t pipenonblock(apr_file_t *thepipe)
static apr_status_t file_pipe_create(apr_file_t **in, apr_file_t **out, apr_pool_t *pool_in, apr_pool_t *pool_out)
static apr_status_t pipeblock(apr_file_t *thepipe)
static void file_pipe_block(apr_file_t **in, apr_file_t **out, apr_int32_t blocking)
apr_status_t apr_unix_file_cleanup(void *thefile)