ld cause this to happen at some
     * later point - but we do it here for demo purposes, i.e.
     * immediately signalling that the job is ready to be woken up after
     * we return to main via ASYNC_pause_job().
     */
    write(pipefds[1], &amp;buf, 1);

    /*
     * Return control back to main just before calling a blocking
     * method. The main thread will wait until pipefds[0] is ready
     * for reading before returning control to this thread.
     */
    ASYNC_pause_job();

    /* Perform the 