-
-
Notifications
You must be signed in to change notification settings - Fork 925
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2cd436db748b
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 363175b00187
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 2 commits
- 2 files changed
- 1 contributor
Commits on Jun 30, 2015
-
Fix hanging in modified FIFO read/write spec, tagged in 04db9d8.
In MRI, rb_read_internal always just does a blind read on the descriptor, since kernel-level interruption of that blocking call is safe. On JDK, interruption of an NIO channel read generally closes that channel, because there's too much state between Java and the native side to ensure has been cleaned up correctly. Our normal behavior when dealing with NIO channels is then to always use select before blocking reads, so we can safely interrupt when there's no data available. However, this is not appropriate for native descriptors, like the FIFO in this case, because all ENXIO channels appear to be selectable (so we attempt it) and the additional select does not match MRI semantics here. My change is to modify our version of rb_read_internal to never select when using a native descriptor. ENXIO should not damage the descriptor when interrupted, and we should still be able to interrupt it properly. Note also that we generally use ENXIO native channels for the following cases, so only these cases should see any changed behavior: * stdio * some pipes * most files
Configuration menu - View commit details
-
Copy full SHA for 9093145 - Browse repository at this point
Copy the full SHA 9093145View commit details -
Revert "This fails on MacOS (at least) - seems to work on ci/linux"
This reverts commit 04db9d8.
Configuration menu - View commit details
-
Copy full SHA for 363175b - Browse repository at this point
Copy the full SHA 363175bView commit details
There are no files selected for viewing