为什么套接字会在gevent中阻塞

时间:2019-08-29 08:58:38

标签: python sockets gevent pypy

这是_socket2.py中的pypy gevent源代码:

1     def send(self, data, flags=0, timeout=timeout_default):
2         if timeout is timeout_default:
3             timeout = self.timeout
4         try:
5             return self._sock.send(data, flags)
6         except error as ex:
7             if ex.args[0] not in _socketcommon.GSENDAGAIN or timeout == 0.0:
8                 raise
9             sys.exc_clear()
10            self._wait(self._write_event)
11            try:
12                return self._sock.send(data, flags)
13            except error as ex2:
14                if ex2.args[0] == EWOULDBLOCK:
15                    return 0
16                raise

我不知道为什么套接字在等待_write_event(第10行)之后会在第12行阻塞,谢谢。

0 个答案:

没有答案