def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0, _sock=None):
if _sock is None:
self._sock = _realsocket(family, type, proto)
self.timeout = _socket.getdefaulttimeout()
else:
if hasattr(_sock, '_sock'):
self._sock = _sock._sock
self.timeout = getattr(_sock, 'timeout', False)
if self.timeout is False:
self.timeout = _socket.getdefaulttimeout()
else:
self._sock = _sock
self.timeout = _socket.getdefaulttimeout()
self._sock.setblocking(0)
self._read_event = core.event(core.EV_READ, self.fileno(), _wait_helper)
self._write_event = core.event(core.EV_WRITE, self.fileno(), _wait_helper)
# regarding the following, see issue #31
# (http://code.google.com/p/gevent/issues/detail?id=31#c19)
if is_windows:
self._rw_event = core.event(core.EV_READ | core.EV_WRITE, self.fileno(), _wait_helper)
else:
self._rw_event = core.event(core.EV_WRITE, self.fileno(), _wait_helper)
评论列表
文章目录