RE: [PATCH v2 2/4] rsockets: retry for completion events upon interruption

Hefty, Sean
2014-09-17T16:27:05Z

> +resume_get_cq_event:
> ret = ibv_get_cq_event(rs->cm_id->recv_cq_channel, &cq, &context);
> if (!ret) {
> ibv_ack_cq_events(rs->cm_id->recv_cq, 1);
> rs->cq_armed = 0;
> + } else if (restart_onintr == 1 && errno == EINTR) {
> + errno = 0;
> + goto resume_get_cq_event;

I'm not convinced that this is desirable behavior. If the thread waiting for an event was interrupted, why does it make sense to ignore the interrupt and return to waiting? Couldn't the app detect the return code and call back into rsockets in this case?

If this is desired behavior, why add a config option?

- Sean