def _call_select(space, iwtd_w, owtd_w, ewtd_w, ll_inl, ll_outl, ll_errl, ll_timeval): fdlistin = fdlistout = fdlisterr = None nfds = -1 if ll_inl: fdlistin, nfds = _build_fd_set(space, iwtd_w, ll_inl, nfds) if ll_outl: fdlistout, nfds = _build_fd_set(space, owtd_w, ll_outl, nfds) if ll_errl: fdlisterr, nfds = _build_fd_set(space, ewtd_w, ll_errl, nfds) res = _c.select(nfds + 1, ll_inl, ll_outl, ll_errl, ll_timeval) if res < 0: errno = _c.geterrno() msg = _c.socket_strerror_str(errno) w_errortype = space.fromcache(Cache).w_error raise OperationError(w_errortype, space.newtuple([space.wrap(errno), space.wrap(msg)])) resin_w = [] resout_w = [] reserr_w = [] if res > 0: if fdlistin is not None: _unbuild_fd_set(space, iwtd_w, fdlistin, ll_inl, resin_w) if fdlistout is not None: _unbuild_fd_set(space, owtd_w, fdlistout, ll_outl, resout_w) if fdlisterr is not None: _unbuild_fd_set(space, ewtd_w, fdlisterr, ll_errl, reserr_w) return space.newtuple([space.newlist(resin_w), space.newlist(resout_w), space.newlist(reserr_w)])
def _call_select(space, iwtd_w, owtd_w, ewtd_w, ll_inl, ll_outl, ll_errl, ll_timeval): fdlistin = fdlistout = fdlisterr = None nfds = -1 if ll_inl: fdlistin, nfds = _build_fd_set(space, iwtd_w, ll_inl, nfds) if ll_outl: fdlistout, nfds = _build_fd_set(space, owtd_w, ll_outl, nfds) if ll_errl: fdlisterr, nfds = _build_fd_set(space, ewtd_w, ll_errl, nfds) res = _c.select(nfds + 1, ll_inl, ll_outl, ll_errl, ll_timeval) if res < 0: errno = _c.geterrno() msg = _c.socket_strerror_str(errno) w_errortype = space.fromcache(Cache).w_error raise OperationError(w_errortype, space.newtuple([ space.newint(errno), space.newtext(msg)])) resin_w = [] resout_w = [] reserr_w = [] if res > 0: if fdlistin is not None: _unbuild_fd_set(space, iwtd_w, fdlistin, ll_inl, resin_w) if fdlistout is not None: _unbuild_fd_set(space, owtd_w, fdlistout, ll_outl, resout_w) if fdlisterr is not None: _unbuild_fd_set(space, ewtd_w, fdlisterr, ll_errl, reserr_w) return space.newtuple([space.newlist(resin_w), space.newlist(resout_w), space.newlist(reserr_w)])
def get_msg(self): return _c.socket_strerror_str(self.errno)
def get_msg(self): return _c.socket_strerror_str(self.errno)