@@ -657,19 +657,19 @@ def __init__(self, loop, pipe, protocol, waiter=None, extra=None):
657657 # On AIX, the reader trick (to be notified when the read end of the
658658 # socket is closed) only works for sockets. On other platforms it
659659 # works for pipes and sockets. (Exception: OS X 10.4? Issue #19294.)
660- # On macOS, the trick misfires for named FIFOs (but not for pipes
661- # created with os.pipe(), which have st_nlink == 0): the write end
662- # polls as readable whenever unread data sits in the FIFO, and no
660+ # On macOS and Solaris , the trick misfires for named FIFOs (but not for
661+ # pipes created with os.pipe(), which have st_nlink == 0): the write
662+ # end polls as readable whenever unread data sits in the FIFO, and no
663663 # event is delivered when the read end is closed, so it can only
664- # ever report a false disconnection (gh-145030). The same xnu
664+ # ever report a false disconnection (gh-145030). The same XNU
665665 # behaviour applies on iOS/tvOS/watchOS (sys.platform is not
666666 # "darwin" there).
667- is_named_fifo_on_apple = (
668- sys .platform in {"darwin" , "ios" , "tvos" , "watchos" }
667+ is_named_fifo_without_close_event = (
668+ sys .platform in {"darwin" , "ios" , "tvos" , "watchos" , "sunos5" }
669669 and is_fifo and pipe_stat .st_nlink > 0 )
670670 if is_socket or (is_fifo
671671 and not sys .platform .startswith ("aix" )
672- and not is_named_fifo_on_apple ):
672+ and not is_named_fifo_without_close_event ):
673673 # only start reading when connection_made() has been called
674674 self ._loop .call_soon (self ._loop ._add_reader ,
675675 self ._fileno , self ._read_ready )
0 commit comments