void waitForResult()

in src/utils.cc [39:55]


void waitForResult(std::promise<pulsar::Result>& promise) {
    auto future = promise.get_future();
    while (true) {
        {
            py::gil_scoped_release release;
            auto status = future.wait_for(std::chrono::milliseconds(100));
            if (status == std::future_status::ready) {
                CHECK_RESULT(future.get());
                return;
            }
        }
        py::gil_scoped_acquire acquire;
        if (PyErr_CheckSignals() != 0) {
            raiseException(ResultInterrupted);
        }
    }
}