def __init__(self, errno=None, msg=None): """Wrap an errno style error. Parameters ---------- errno : int The ZMQ errno or None. If None, then ``zmq_errno()`` is called and used. msg : string Description of the error or None. """ from zmq.sugar.backend import strerror, zmq_errno if errno is None: errno = zmq_errno() if isinstance(errno, int): self.errno = errno if msg is None: self.strerror = strerror(errno) else: self.strerror = msg else: if msg is None: self.strerror = str(errno) else: self.strerror = msg
def _check_rc(rc, errno=None): """internal utility for checking zmq return condition and raising the appropriate Exception class """ from zmq.sugar.backend import zmq_errno from errno import EINTR from zmq import EAGAIN, ETERM if rc < 0: if errno is None: errno = zmq_errno() if errno == EAGAIN: raise Again(errno) elif errno == ETERM: raise ContextTerminated(errno) else: raise ZMQError(errno)