1
1

btl/ofi: handles FI_EINTR properly.

OFI sockets provider will sometime return FI_EINTR. Apparently this flag
does not exist in OFI version 1.5. This commit added an ifdef check.

Signed-off-by: Thananon Patinyasakdikul <thananon.patinyasakdikul@intel.com>
Этот коммит содержится в:
Thananon Patinyasakdikul 2018-06-05 18:17:49 -07:00
родитель 64a5baaa28
Коммит f34a73af70

Просмотреть файл

@ -560,7 +560,15 @@ static int mca_btl_ofi_component_progress (void)
MCA_BTL_OFI_ABORT();
} else if (OPAL_UNLIKELY(ret != -FI_EAGAIN && ret != -FI_EINTR)) {
}
#ifdef FI_EINTR
/* sometimes, sockets provider complain about interupt. */
else if (OPAL_UNLIKELY(ret == -FI_EINTR)) {
continue;
}
#endif
/* If the error is not FI_EAGAIN, report the error and abort. */
else if (OPAL_UNLIKELY(ret != -FI_EAGAIN)) {
BTL_ERROR(("fi_cq_read returned error %d:%s", ret, fi_strerror(-ret)));
MCA_BTL_OFI_ABORT();
}