|
33 | 33 | import sys
|
34 | 34 | import re
|
35 | 35 |
|
36 |
| -from tornado.concurrent import Future |
| 36 | +from tornado.concurrent import Future, future_set_result_unless_cancelled |
37 | 37 | from tornado import ioloop
|
38 | 38 | from tornado.log import gen_log
|
39 | 39 | from tornado.netutil import ssl_wrap_socket, _client_ssl_defaults, _server_ssl_defaults
|
@@ -803,7 +803,7 @@ def _finish_read(self, size: int, streaming: bool) -> None:
|
803 | 803 | if self._read_future is not None:
|
804 | 804 | future = self._read_future
|
805 | 805 | self._read_future = None
|
806 |
| - future.set_result(result) |
| 806 | + future_set_result_unless_cancelled(future, result) |
807 | 807 | self._maybe_add_error_listener()
|
808 | 808 |
|
809 | 809 | def _try_inline_read(self) -> None:
|
@@ -972,7 +972,7 @@ def _handle_write(self) -> None:
|
972 | 972 | if index > self._total_write_done_index:
|
973 | 973 | break
|
974 | 974 | self._write_futures.popleft()
|
975 |
| - future.set_result(None) |
| 975 | + future_set_result_unless_cancelled(future, None) |
976 | 976 |
|
977 | 977 | def _consume(self, loc: int) -> bytes:
|
978 | 978 | # Consume loc bytes from the read buffer and return them
|
@@ -1311,7 +1311,7 @@ def _handle_connect(self) -> None:
|
1311 | 1311 | if self._connect_future is not None:
|
1312 | 1312 | future = self._connect_future
|
1313 | 1313 | self._connect_future = None
|
1314 |
| - future.set_result(self) |
| 1314 | + future_set_result_unless_cancelled(future, self) |
1315 | 1315 | self._connecting = False
|
1316 | 1316 |
|
1317 | 1317 | def set_nodelay(self, value: bool) -> None:
|
@@ -1429,7 +1429,7 @@ def _finish_ssl_connect(self) -> None:
|
1429 | 1429 | if self._ssl_connect_future is not None:
|
1430 | 1430 | future = self._ssl_connect_future
|
1431 | 1431 | self._ssl_connect_future = None
|
1432 |
| - future.set_result(self) |
| 1432 | + future_set_result_unless_cancelled(future, self) |
1433 | 1433 |
|
1434 | 1434 | def _verify_cert(self, peercert: Any) -> bool:
|
1435 | 1435 | """Returns True if peercert is valid according to the configured
|
|
0 commit comments