async_exec (PGconn)

    /*
     * call-seq:
     *    conn.async_exec(sql [, params, result_format ] ) -> PGresult
     *
     * This function has the same behavior as +PGconn#exec+,
     * except that it's implemented using asynchronous command
     * processing and ruby's +rb_thread_select+ in order to
     * allow other threads to process while waiting for the
     * server to complete the request.
     */
    static VALUE
    pgconn_async_exec(int argc, VALUE *argv, VALUE self)
    {
            pgconn_send_query(argc, argv, self);
            pgconn_block(0, NULL, self);
            return pgconn_get_last_result(self);
    }