mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
Update asyncio from the Tulip project
Major changes: - StreamReader.readexactly() now raises an IncompleteReadError if the end of stream is reached before we received enough bytes, instead of returning less bytes than requested. - Unit tests use the main asyncio module instead of submodules like events - _UnixWritePipeTransport now also supports character devices, as _UnixReadPipeTransport. Patch written by Jonathan Slenders. - Export more symbols: BaseEventLoop, BaseProactorEventLoop, BaseSelectorEventLoop, Queue and Queue sublasses, Empty, Full
This commit is contained in:
parent
75a5ec88ff
commit
8dffc456d7
17 changed files with 931 additions and 887 deletions
|
|
@ -259,9 +259,11 @@ class _UnixWritePipeTransport(transports.WriteTransport):
|
|||
self._fileno = pipe.fileno()
|
||||
mode = os.fstat(self._fileno).st_mode
|
||||
is_socket = stat.S_ISSOCK(mode)
|
||||
is_pipe = stat.S_ISFIFO(mode)
|
||||
if not (is_socket or is_pipe):
|
||||
raise ValueError("Pipe transport is for pipes/sockets only.")
|
||||
if not (is_socket or
|
||||
stat.S_ISFIFO(mode) or
|
||||
stat.S_ISCHR(mode)):
|
||||
raise ValueError("Pipe transport is only for "
|
||||
"pipes, sockets and character devices")
|
||||
_set_nonblocking(self._fileno)
|
||||
self._protocol = protocol
|
||||
self._buffer = []
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue