 pipe\n&quot;);
        return 0;
    }
    wptr = OPENSSL_malloc(sizeof(OSSL_ASYNC_FD));
    if (wptr == NULL) {
        printf(&quot;Failed to malloc\n&quot;);
        return 0;
    }
    *wptr = pipefds[1];
    ASYNC_WAIT_CTX_set_wait_fd(ASYNC_get_wait_ctx(currjob), &amp;unique,
                               pipefds[0], wptr, cleanup);

    /*
     * Normally some external event (like a network read being ready,
     * disk access being finished, or some hardware offload operation
     * completing) wou