Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Darwin] Read() does not always return when closing the reader #43

Open
sameo opened this issue Jan 26, 2022 · 0 comments
Open

[Darwin] Read() does not always return when closing the reader #43

sameo opened this issue Jan 26, 2022 · 0 comments

Comments

@sameo
Copy link
Contributor

sameo commented Jan 26, 2022

I'm seeing different behaviours on MacOS and Linux, when closing a reader.

When running make test with #42 applied, the TestFifoCloseWhileReadingAndWriting fails on MacOS but passes on Linux.

On MacOS, I'm seeing that if I open a writer on a FIFO, closing the reader won't unblock a pending Read() and a Write() from the writer will be received by the reader (After we close the reader):

=== RUN   TestFifoCloseWhileReadingAndWriting
    fifo_test.go:437: 
                Error Trace:    fifo_test.go:437
                Error:          An error is expected but got nil.
                Test:           TestFifoCloseWhileReadingAndWriting
    fifo_test.go:441: Read should not succeed

If there are no writers for the FIFO, closing the reader works as expected on both Linux and MacOS, i.e. the pending Read() returns the expected error (ErrReadClosed).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant