Skip to content
Permalink

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: rubinius/rubinius
base: 51c5faca3054
Choose a base ref
...
head repository: rubinius/rubinius
compare: 23ade6568fbb
Choose a head ref
  • 2 commits
  • 2 files changed
  • 1 contributor

Commits on Jan 19, 2016

  1. Copy the full SHA
    b4a4789 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2016

  1. emulate blocking read behavior using #read_nonblock

    We had a failing spec where a thread blocked on read was
    supposed to raise IOError when *another thread* closed
    the IO. However, it didn't work. Turns out that the
    low-level system read function blocks forever so the
    closed IO/file descriptor didn't raise as expected.
    
    The original C code got around this OS behavior by setting
    special flags and sending signals to the blocked thread
    to wake it up. This mechanism was only exposed to the
    bytecode VM and wasn't available to the Ruby runtime so
    I had to go this other direction. It's less than ideal
    but if the long-term plan is to utilize libuv for
    Rubinius IO then this is a good enough fix.
    chuckremes committed Jan 20, 2016
    Copy the full SHA
    23ade65 View commit details
    Browse the repository at this point in the history