Skip to content

[SR-5773] DispatchIO.read on Linux inconsistent with macOS #681

@swift-ci

Description

@swift-ci
Previous ID SR-5773
Radar None
Original Reporter nuclearace (JIRA User)
Type Bug
Status Resolved
Resolution Done

Attachment: Download

Environment

Swift version 3.1.1 (swift-3.1.1-RELEASE)
Target: x86_64-unknown-linux-gnu

Ubuntu 16.04

and

Apple Swift version 3.1 (swift-3.1-RELEASE)

Target: x86_64-apple-macosx10.9

macOS 10.12.5

Additional Detail from JIRA
Votes 1
Component/s libdispatch
Labels Bug
Assignee rlovelett (JIRA)
Priority Medium

md5: 89a90c899eae85ceb8bc7c56f5960b81

duplicates:

  • SR-9033 Dispatch spins in a tight loop when receiving EPOLLHUP

Issue Description:

It seems that when using a pipe and a DispatchIO channel linked to that pipe's file handle for reading, DispatchIO on Linux displays behavior inconsistent with macOS.

See https://gist.github.com/nuclearace/d67fba7c8f94c36d91e31e82863ec4ae for sample code that displays the issue. On macOS this consistently reads until EOF, while on Linux it either hangs while reading after the writer is done, or fails to fall into the EOF branch.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions