static void uct_ud_verbs_iface_async_progress(void *arg) { uct_ud_verbs_iface_t *iface = arg; ucs_status_t status; do { status = uct_ud_verbs_iface_poll_rx(iface); } while (status == UCS_OK); uct_ud_verbs_iface_poll_tx(iface); uct_ud_iface_progress_pending(&iface->super, 1); }
static void uct_ud_verbs_iface_progress(void *arg) { uct_ud_verbs_iface_t *iface = arg; ucs_status_t status; status = uct_ud_verbs_iface_poll_rx(iface); if (status == UCS_ERR_NO_PROGRESS) { uct_ud_verbs_iface_poll_tx(iface); } uct_ud_verbs_iface_progress_pending(iface); }
static void uct_ud_verbs_iface_progress(void *arg) { uct_ud_verbs_iface_t *iface = arg; ucs_status_t status; uct_ud_enter(&iface->super); status = uct_ud_verbs_iface_poll_rx(iface); if (status == UCS_ERR_NO_PROGRESS) { uct_ud_verbs_iface_poll_tx(iface); } uct_ud_iface_progress_pending(&iface->super, 0); uct_ud_leave(&iface->super); }