Throw the error if it is not EINTR (it was the previous behavior)
also handle EINTR when creating zmq::device