+ /* create a couple of sockets and pass one to the client for headers and so on */
+ if (socketpair(AF_UNIX, SOCK_STREAM, 0, ctrlrawsock)) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
+ "proxy: FD: Failed create socketpair");
+ return HTTP_INTERNAL_SERVER_ERROR;
+ }
+ rv = apr_os_sock_put(&ctrlsock, &(ctrlrawsock[0]), r->connection->pool);
+ if (rv != APR_SUCCESS) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
+ "proxy: FD: apr_os_sock_put failed");
+ return HTTP_INTERNAL_SERVER_ERROR;
+ }
+ rv = apr_os_sock_put(&clientctrlsock, &(ctrlrawsock[1]), r->connection->pool);
+ if (rv != APR_SUCCESS) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
+ "proxy: FD: apr_os_sock_put failed");
+ return HTTP_INTERNAL_SERVER_ERROR;
+ }
+