| 445 | } |
| 446 | |
| 447 | AP_DECLARE(apr_status_t) ap_mpm_pod_open(apr_pool_t *p, ap_pod_t **pod) |
| 448 | { |
| 449 | apr_status_t rv; |
| 450 | |
| 451 | *pod = apr_palloc(p, sizeof(**pod)); |
| 452 | rv = apr_file_pipe_create_ex(&((*pod)->pod_in), &((*pod)->pod_out), |
| 453 | APR_WRITE_BLOCK, p); |
| 454 | if (rv != APR_SUCCESS) { |
| 455 | return rv; |
| 456 | } |
| 457 | |
| 458 | apr_file_pipe_timeout_set((*pod)->pod_in, 0); |
| 459 | (*pod)->p = p; |
| 460 | |
| 461 | /* close these before exec. */ |
| 462 | apr_file_inherit_unset((*pod)->pod_in); |
| 463 | apr_file_inherit_unset((*pod)->pod_out); |
| 464 | |
| 465 | return APR_SUCCESS; |
| 466 | } |
| 467 | |
| 468 | AP_DECLARE(apr_status_t) ap_mpm_pod_check(ap_pod_t *pod) |
| 469 | { |
no outgoing calls
no test coverage detected